danger/u/
This thread is permanently archived
Programming language recomendations

| There has been a lot of these threads and I've already made my pick and currently learning C# as my primary. But what other language can you recommend to learn simultaneously - something to experience completely different approach to programming and something that can be useful down the line.


| depends what you want to do.
do you have any precision on what you'll be doing ?


| If your goal is just to get a job or so, just look up what's the most used programming language and that's fine.
If your goal is to be good at programming, I doubt C# is a good primry, but well. For variety, look at Python, Go, WebAssembly, Lisp, and why not a bit of assembly.


| I chose C# because I know people that can help me with it and it's Unity integration, in case I want to fuck around with friends making games. Seemed like a good way to combine useful with pleasant. I don't know exactly what's my end goal is - it's hard to pick something without real experience - but I'm definitely not interested in mobile development. Just want to get good and flexible before choosing something and focusing on it. Not sure if that's a good idea though.


| >>668162 Thanks. Assembly is already on the list, although I'm not sure I'm ready for that yet. Everything else seems fairly interesting, but Lisp for some reason caught my eye. Think I'll give it a try.


| >>668162
>WebAssembly
aaaaaaaAAAAAAAAAAAA

my advice is that sometimes, if you learn about X, it's good to know a bit of the layers in the system under X. it really helps understand the limitations and design decisions of X.

if you learn assembly it's useful to know the basics about CPUs and memory like what is a regfile, an ALU, etc.

if you learn C it's good to have notions about OS data structures like devices, files, environment... these are also helpful for shell scripting


| >>668257
i don't know about C# but you'll probably end up reading about windows APIs and having a deeper understanding of windows.

i know that sometimes the goal is to make abstractions and hide everything from the underlying layers, but knowing the limitations about something helps when you're trying to do stupid things.

maybe you could try some shell scripting language to help automating your tasks. maybe powershell for windows, haven't tried it but people say it's comfy.


| >>668260
or if you're feeling adventurous (or just masochistic) maybe trying some Hardware Design Language, like vhdl, verilog or system-verilog? all statements run in parallel: devilish, right?


| >>668261
oi don't be a meanie towards vhdl and verilog
>_<

unless you've got fpga to implement this on (you can simulate it, but... well), it's kind of out of scope... no ?


| Rust is neat


| >>668261
> all statements run in parallel
Oh good god why. Just thinking about it gives me an aneurysm.


| If it can be done, it can be done in C++.


| >>668947
nah, it's not that evil. it's supposed to be like this because of 'the parallel nature of hardwaware'. and i should have said concurrent not parallel. and there are sequential statement blocks, too.

>>668289
and this poster is right. if you have to set-up the simulation environment yourself, it can be very scary.


| I am very fluent in Java and i'm strongly NOT recommending it unless you plan to be a corporate slave (many company uses it, but it feels so outdated and "proprietary") for the rest of your programming life.

C#, however, is very nice choice. You can use it for apps or game development. Python is also good but I'm not sure about the use cases. Last time I used it was for AI stuff (tensors, matrices, etc)


| Oh y'all talking about assembly makes me think of few programming wizards who also uses Vim or somesuch. Wish I could ever have that much IQ and then maybe I can even look like a cool DevOps in some korean drama.


| So way I'm seeing it:
- Java to be a basic corporate slave
- JavaScript to be a new-age corporate slave
- C# for gamedev
- Python if you're in academia or use the term "machine learning" unironically
- Assembly or C if you think the best way to make a wheel is to learn atomic physics first
- Shell if you don't care about programming, you just want to automate some tasks


| >Assembly or C if you think the best way to make a wheel is to learn atomic physics first

( • ̀ω•́ ) absolutely


| Also, some retro systems are written in one form of assbly or another, so once you learn that soykaf, you can make a NES game, and then never use it ever again.


| Undercover compiler dev here. I spend all day thinking about optimising C code and how cool languages are.

Anon, I admire your spirit! Remember that once you know a few, you know most - don't feel like you are ever 'locking in' your choice.

I think you should know at least one strongly-typed, one scripting and one functional language. Specifics are implementation details and ecosystems. Explore paradigms, play with syntax, and learn magiks! Godspeed young sorcerer.


Read SICP.


| >>669666 hello, I'm learning python and rust, I assume that checks scripting and strongly typed but what would functional be

PS crystal-lang is also pretty cool and could use help with windows support if anyone is interested in a strongly typed, compiled, ruby like language


| >>669716

I present that you should Learn You A Haskell (a wonderful (free (!)) book)! In theory, most "good" idiomatic code in many languages is functional in style and composability, but functional languages force you to think in a certain manner. That's why it's so useful to know them. You'll have a lot of fun just getting your head around the shift in thinking!

Re crystal, tell rx to get xer nose out of evil mode and fix their own damn code! Wahahaha! Send em my love <3


| >>669738

Alternatives include Lisp - something everyone should learn if for no other reason than SICP uses Scheme. I'm unsure if it's best to read SICP at the start of the Journey, or when one can appreciate how monumental the ideas in that book are, and how beautifully they compliment the knowledge you built up.


| >>669739

Another is ML, which we use here to ensure our architecture designs and compilers are bulletproof by putting them through rigorous testing on which we can do Clever Math Proofz. ML is similar to Haskell, but Haskell is simpler and more mature in support and ecosystem.

Hence, overall, Haskell is suggested - but I am not you, and you are not my suggestions! Try out the major texts for learning each and try your hand. Please make sure to have Fun while you program!


| lua and ruby


| >>669595
consider c is a simple language, with like %15 the features of c++. so it should take a lot less to learn.


| Assembly for i8080/Z80


| Are you learning C# as your first language? Because programming languages are essentially all the same, in the end it won't make any difference which language you choose, it really doesn't matter. But as a great person once said, pick a language that'll make you feel the least stupid, because that same problem solving in C# is magnitudes more overwhelming than problem solving with Python. Start with Lua, focus less on typing fancy words, focus more on problem solving.


| >>669905
>it is practically impossible to teach good programming to students that have had a prior exposure to basic: as potential programmers they are mentally mutilated beyond hope of regeneration.
edsger dijkstra

i think most languages would do fine tbh


| Reeee lua can't count ree >>669905

Total number of posts: 29, last modified on: Mon Jan 1 00:00:00 1592286046

This thread is permanently archived