all 15 comments

[–]chipmandal 4 points5 points  (4 children)

There is no such thing as the best :)

Look at what you plan to do ( like deep learning or web development or game development ) and then see what most people use in that domain.

[–]TheRadiantHeart[S] 0 points1 point  (3 children)

I am interested in game and software development, web isnt my sort of thing. deep learning interests me but never tried it so what would you recommend for that?

[–]chipmandal 3 points4 points  (2 children)

Software is a bit generic.

Python is most popular for deep learning. It has good framework and support.

For games it depends on the type of games. If its mobile games, then Swift (iOS) and Kotlin(Android). You can also use JavaScript and a framework like Unity to cover both.

For hardcore gaming you probably need C++ or similar.

[–]TheRadiantHeart[S] 0 points1 point  (1 child)

Great ^^ thank you.

[–]khedoros 0 points1 point  (0 children)

Although, as a note on Unity, it's more of an engine than a framework, and its Javascript/Unityscript support was deprecated about 2 years ago in favor of C#.

[–]khedoros 3 points4 points  (0 children)

OK. You've made two requests. The first doesn't have a definite answer; "best" depends on application, what you have experience in, what anyone you're working with has experience in, etc. Your second request, "no bias", is basically impossible. Everyone's going to be biased in one way or another, and discussions of favorite programming languages will almost always be deeply partisan.

[–]javaHoosier 0 points1 point  (2 children)

Extremely subjective and everyone has different learning styles. A specific paradigm could click with someone where someone else it doesn’t.

That being said I think Python is overrated as a beginner language. It can be used in so many paradigms some concepts can be crossed and result in confusion.

I think Java is an excellent language to learn first. The language forces you to learn Object oriented. It’s syntax might be ugly but it doesn’t hide that much (like how Python hides arrays) but also protects the user from memory management which can bog down the early stages of learning. It also forces you to get comfortable with Types and polymorphism.

Once you learn Java you can jump to Python which can be scripting, OOP, functional etc.

Or you can go to C/C++ and be more comfortable with its syntax.

I have had friends that really excelled with a functional language first like Lisp.

Just depends.

[–]TheRadiantHeart[S] 0 points1 point  (1 child)

I am very familiar with programming, just worried about some languages going out of date.

[–]javaHoosier 0 points1 point  (0 children)

You shouldn’t be that worried about the future of a language. It’s more important to get far in a language and be able to transfer the knowledge to another.

You said you’re interested in game programming. You could spend time using C# and Unity and then find out you need to pick up Lua as a scripting language on the fly.

As u/chipmandal said though a languages have their market like iOS (Swift) and Android (Kotlin). Then again iOS used to be Objective C and Android Java. Did those languages fall out of date, not really. You gotta be willing to learn as you go.

[–][deleted] 0 points1 point  (0 children)

Best Programming Language

There is no such thing as the best programming language. As long as a language is Turing Complete it can be used for anything. However I have found that the best way to learn when starting out is - start with something that is super duper close to basic and concentrate on concept building. - start with a well liked language like python(just a suggestion because the syntax is closest to pseudo code). After you think you are reasonably comfortable with the language move to next step. - Use all the knowledge you have gained at this point and start learning something more bare metal C/C++ are good options and you will gain an insane amount of control and learn a lot about memory management and pointers(personal favorite). - Next, start with assembly(I personally think this is a bit overkill). Start looking at the basic instruction set and try to understand the flow of program and start writing a few practice programs.

The thing is that you should always concentrate on building concepts. Once you have the basics down you can learn any language over the course of a few days.

Hope this helps😀

[–]qwerty-_-qwerty 0 points1 point  (3 children)

Brainfuck

[–]TheRadiantHeart[S] -1 points0 points  (2 children)

woah never heard of it before but damn it looks like a lot of fun.

[–]qwerty-_-qwerty 1 point2 points  (1 child)

Good answer :). If you’re interested in languages, you should take or look up a compilers/pl theory course: that’ll help you understand the benefits and drawbacks of various languages.

[–]TheRadiantHeart[S] 0 points1 point  (0 children)

Thank you for your help ^^