Jump to content

The language thread

MoVo

Hey guys, 

 

in this programming section, I saw one repeating question all the time. "What language should I learn (next)". While the basics of every User are different, the answers to these questions are always pretty similar. So here's a list to make it easier for beginners to decide which programming language they should learn. If you have a lot of (different) experiences, please post them! 

 

Beginner friendly languages

  • Python: A very easy to read and write language, also there are plenty of good resources for beginners. Cross platform capable, runs on Mac, Linux, and Windows. While the syntax aims to be very self-explaning and easy to write, the language can also be used for complex operations such as machine learning(scikit-learn) Often used for:
    • Web-Applications using Django
    • Data analytics and machine learning (sklearn)
  • Ruby (often used for server-side web applications using RubyOnRails): Has a pretty simple syntax to write easily readable code. There are a lot of great community-powered packages ("gems") especially for "Ruby On Rails" (later this post)
  • HTML, CSS: Basically HTML and CSS aren't real programming languages. These are the two languages used to display and style every website you ever visited.

 More advanced languages

  • Java:  Is a widely used language, running cross-platform on Windows, Mac, Linux, etc. Can be used for various applications, reaching from desktop to server applications. Often used for
    • Server applications with jsp
    • Andorid applications
  • C#Is a interpreted language, developed by Microsoft. It usually runs on Windows systems and is commonly used for building desktop applications, however, you can use it for various other things as well. Often used for
    • Windows desktop/mobile applications
    • Web-Application backends
  • PHP Once the de-factor standard for web applications. PHP still runs a lot of websites, reaching from small personal blogs to larger newspaper-websites. There are a lot of great frameworks for PHP as well as software written in PHP (WordPress, Joomla!, etc.). Often used for
    • Web-Applications using a viority of frameworks
  • JavaScript(JS):  Is a rather special candidate. While JS is commonly used on the client side of web applications for animations, data processing etc. It's also possible to write very powerful server-side application code. For client as well as server side JS offers a great community and libraries to make your life as a programmer easier. Compared to other language JavaScript is not designed to be used with object-oriented patterns, but its prototype approach is very similar. 
    • animation with frameworks like jQuery
    • single-page web apps with AngularJS or React
    • Server side Web-Applications using NodeJS and express.js + Client side WebApps (often referred to as the MEAN Stack = MongoDB, expressjs, Angularjs and Nodejs)

How to built mobile apps (nope you're not gonna use app inventor)

  • Android:  Android apps are commonly written in Java. Google is kind enough to offer all of the resources you need to get started for free, include an IDE and some online courses (filter fo "free courses"). Since Android uses Java you should have some experience with it, to actually understand what is going on.
  • Xamarin Is a framework to build cross-platform mobile apps using C#, however, I never really used it so I can't tell you about any experience
  • iOS: iOS Apps are commonly build using Swift or Objective-C. There are some nice resources out there, including a free Udacity courseBUT to build iOS apps you need a MacOS system.
  • Cordova: Is a framework to build cross-platform apps using HTML, CSS, and JS. While Cordova is very simple to use, the apps using it are not as powerful as native apps, in performance as well as features. 

Other frameworks

before you start learning a framework, you should at least get some basic understanding of the language you're writing the code.

  • Ruby On Rails (Ruby): Rails is a powerful web application framework, you can use it for websites as well as for rest apis(to feed you mobile apps with data :)) Its initial release was in 2005, but its continuously updated and new features are added. It has a powerful architecture and is used by big websites (Basecamp, GitHub, Kickstarter, Groupon, Dribbble, etc....). There are a lot of libraries fo Rails to make it easier to implement functionality 
  • Laravel (PHP): Is a PHP web framework which is really easy to learn, it offers a lot of community-built packages and great community-support.

 

I'm not a professional programmer, this is all my own experience. If you want to correct me, please do, it'll help me too!:) 

Don't know if this post makes sense to you, but I hope I can help so people with their decision ;) 

Link to comment
Share on other sites

Link to post
Share on other sites

17 minutes ago, MoVo said:

If you want to correct me

na mate that was spot on and it was appropriately worded to be concise and to the point

             ☼

ψ ︿_____︿_ψ_   

Link to comment
Share on other sites

Link to post
Share on other sites

You should probably add what each language is widely  used for else perfectly fine list.

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

I will add that python maybe seem as a beginner language but it is far from it. It is extremely powerful and vital for data processing and science calculations.

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

great list!!

However, I think you should redirect people to the actual page of the language/framework instead of to the Wikipedia entry, any idiot can write on Wikipedia

The best way to measure the quality of a piece of code is "Oh F*** "s per line

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, vorticalbox said:

I will add that python maybe seem as a beginner language but it is far from it. It is extremely powerful and vital for data processing and science calculations.

I'll agree that there could be some clarification there, but being user friendly doesn't exclude it from being powerful. 

 

9 hours ago, MoVo said:

C#Is a interpreted language, developed by Microsoft. It usually runs on Windows systems and is commonly used for building desktop applications, however, you can use it for various other things as well. Often used for

Add to this web development. Infact, the most common use of C# in industry is for back end stuff. 

This is an excellent list and, however counter-intuitive it may be, I'm glad that C++ and C are not on this list. They are both very good and very powerful languages, but they are not really languages for someone who is still asking the question "which language should I learn".

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, straight_stewie said:

I'll agree that there could be some clarification there, but being user friendly doesn't exclude it from being powerful. 

 

Add to this web development. Infact, the most common use of C# in industry is for back end stuff. 

This is an excellent list and, however counter-intuitive it may be, I'm glad that C++ and C are not on this list. They are both very good and very powerful languages, but they are not really languages for someone who is still asking the question "which language should I learn".

tbh i dont think what language is important, what is important is what mythologies to learn as they are the foundation of a good programmer.

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×