Jump to content

Which language to move onto next?

Wrb

Hi all, 

 

I've been wanting to get back into programming this (school) year but we haven't been doing much in our CS lessons. We are currently doing the linux terminal, which is... 'fun'. So my question to you guys is which programming language should I move onto next? So far I feel I have 'finished' learning python and done a bit of messing around with Java, batch files and HTML/JavaScript. Thanks for your replys.

 

Link to comment
Share on other sites

Link to post
Share on other sites

What would you like to code? Websites? Front end? Back end? Software? Windows? Multiplatform? Mobile?

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

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, vorticalbox said:

What would you like to code? Websites? Front end? Back end? Software? Windows? Multiplatform? Mobile?

I have no idea, probably not websites, but other than that I am open to ideas. Might be cool to design an app or something. I'd rather concentrate my time on things that are widely used as well.

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, Wrb said:

Hi all, 

 

I've been wanting to get back into programming this (school) year but we haven't been doing much in our CS lessons. We are currently doing the linux terminal, which is... 'fun'. So my question to you guys is which programming language should I move onto next? So far I feel I have 'finished' learning python and done a bit of messing around with Java, batch files and HTML/JavaScript. Thanks for your replys.

 

I am not an expert in this area (in fact just a beginner) but i recommend c#, i have quite a lot of fun playing with it, also it have elements of Java and you can make pretty much anything you want with it (including what vorticalbox said)

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Wrb said:

I have no idea, probably not websites, but other than that I am open to ideas.

well its your career so I suggest you think about an area then pick the language.

 

programming language's are tools and you need the right one for the job. You cant pick a tool if you do not know the job.

 

if not websites then maybe software for this there are a number of languages windows being c# mostly and cross platform things like java and python.

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

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, ZaTrox said:

I am not an expert in this area (in fact just a beginner) but i recommend c#, i have quite a lot of fun playing with it, also it have elements of Java and you can make pretty much anything you want with it (including what vorticalbox said)

Il have a look at C#. Thanks for your help.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Wrb said:

Il have a look at C#. Thanks for your help.

no problem, also i recommend that you buy a book to learn it. I tried to learn c# without any kind of book (from internet for free) but that didn't work out as good as i imagined it to be. I bought myself  a "The C# Player's Guide" Second edition by RB Whitaker, it costs around £20 and its quite good but there are many books for beginners so you don't have to buy this one. 

Link to comment
Share on other sites

Link to post
Share on other sites

40 minutes ago, ZaTrox said:

no problem, also i recommend that you buy a book to learn it. I tried to learn c# without any kind of book (from internet for free) but that didn't work out as good as i imagined it to be. I bought myself  a "The C# Player's Guide" Second edition by RB Whitaker, it costs around £20 and its quite good but there are many books for beginners so you don't have to buy this one. 

Books have the issue of being static, one cannot update a book without printing a new one thus incurs cost over time. Websites also have this issue if not updated but Microsoft has excellent documentation as well as working examples.

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

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, vorticalbox said:

Books have the issue of being static, one cannot update a book without printing a new one thus incurs cost over time. Websites also have this issue if not updated but Microsoft has excellent documentation as well as working examples.

yes i am well aware of it but books simply works better for my type of lifestyle, I am a student at sixth form  and the most of my free time is spend in school when i don't have any lessons, so I go to a library and just read a book and gain some useful knowledge, + in my school i have no internet connection (from my internet provider(i am talking about my phone now)) and school blocks like 99% of all websites on the internet. once they even blocked GOOGLE. as for what i am doing at home, well i just use that knowledge that i gained and try to implement it in my programs (obv i am using only what i see as useful to my program)

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, ZaTrox said:

yes i am well aware of it but books simply works better for my type of lifestyle, I am a student at sixth form  and the most of my free time is spend in school when i don't have any lessons, so I go to a library and just read a book and gain some useful knowledge, + in my school i have no internet connection (from my internet provider(i am talking about my phone now)) and school blocks like 99% of all websites on the internet. once they even blocked GOOGLE. as for what i am doing at home, well i just use that knowledge that i gained and try to implement it in my programs (obv i am using only what i see as useful to my program)

schools are funny with what they block. learn python the hard way is a great site for python and they have expanded into other languages now.

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

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, vorticalbox said:

schools are funny with what they block. learn python the hard way is a great site for python and they have expanded into other languages now.

Schools seem funny with what they try to teach in relation to programming in general; we get posts quite frequently here where some poor sod ends up begging for help with some archaic language that is no longer industry current and/or some kind of bizarre perversion of an implementation that they have been forced to adhere to.

 

I digress. Perhapse try C÷÷.

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

42 minutes ago, Nuluvius said:

Schools seem funny with what they try to teach in relation to programming in general; we get posts quite frequently here where some poor sod ends up begging for help with some archaic language that is no longer industry current and/or some kind of bizarre perversion of an implementation that they have been forced to adhere to.

 

I digress. Perhapse try C÷÷.

yup my uni was still using visual basic as the example material. My college before was using an old version of php that didn't even support php hash and examples used cookies for logins.

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

Link to comment
Share on other sites

Link to post
Share on other sites

17 hours ago, vorticalbox said:

schools are funny with what they block. learn python the hard way is a great site for python and they have expanded into other languages now.

never heard of that side, but i will probably not use (not now thats for sure) since i want to first learn c# (i just can't give it up now) and from what i see they don't provide it, they do  have other courses that i will try but thats after i learn c#

 

Link to comment
Share on other sites

Link to post
Share on other sites

If you're aiming for a programming career, i.e. a software developer, you should look into Java, C++, C#, and C (not necessarily in any particular order, though starting with Java or C# may be the best bets--C# especially if you're looking at programming in a Windows environment).  If you're not targeting programming as a career, you can start out with something easier like Python, which is used in a huge number of fields--data analytics, physics simulations, website frontend and backend, you name it--but is a bit less prevalent in the development of big software packages because of its slower execution speed compared to most other languages.  Plus, it does tend to not immediately present you with some of the really nitty-gritty details of what's happening behind the scenes, but this also means it doesn't bombard you with small stuff and lets you more quickly get your mind around things like program design, control flow, and these higher-level ideas first, which are useful in every language.  (I guess, in other words, Python feels a lot more compartmentalized with regards to its high-level and low-level features, which is great for learning to use it but does allow users to never delve into the guts of the language if they don't actively want to.  Which they may not need to, depending on what they're doing with Python).

 

You could probably start with Python anyways, but I'd seriously encourage you to start picking up some of the other languages I and others have mentioned as soon as you feel reasonably comfortable with Python.  For a CS major, and for a programming career, it's always good to know lots of different languages, and knowing something lower-level like C or C++ will make you a better programmer, since it makes you think about writing programs very differently.  The same can be said for more unusual languages like Haskell and Lisp, which are fundamentally designed very differently from languages like Java and Python and C (all of which ultimately have very similar underlying logic).  But don't worry about those until you get further along.

Link to comment
Share on other sites

Link to post
Share on other sites

As @Azgoth 2 mentioned, if you're aiming for a career Java, C# or C++ is probably the best choice. You can use Java(as well as C#) to create Android Apps. If you want to go with iOS Apps you have to learn Swift (or Objective-C). Java C# and C++ have a very similar syntax with some language-specific additions (& var, await, list goes on..) Python has a rather "special" syntax compared to the ones mentioned before, but if you're Diggin deep into python you can actually build very powerful applications (sublime text) or you can use it for machine learning and data analysis (SkLearn, TensorFlow...). 

If you want to build websites PHP once was the absolute favorite of everybody, currently it seems like everybody is going with the Nodejs (JavaScript on the server side), which you can actually use to build desktop applications, and mongodb. A lot of companies are also using Ruby (on Rails) for web applications. RoR is very easy to learn and incredibly powerful, it's already around for a while, but it still does its job pretty good (In fact Twitter was initially built with Ruby On Rails, but as far is I know they are now using Scala).

As a summary you could say: The language you should choose depends on what you want to build. 

Here is a small overview over languages I use(d) and gained some experience

Web Applications

  • Ruby (on Rails) (Large collection of libraries, making it easy to built powerful webapps)
  • Nodejs (Large community, great online learning resources and packages for building powerful apps)
  • PHP (Used by a lot of popular websites, easy to write )
  • Python (Simple language, but very powerful. There are a lot of tutorials, especially for beginners)

Desktop Applications

  • Nodejs (electron)
  • C#
  • C++
  • Python
  • Java

Mobile Applications

  • Java (Android)
  • C# (Android with Xamarin Framework or Windows phone, if there is anybody using it)
  • C++ (Android NDK)
  • Swift (iOS *mac required)
  • Objective-C (iOS *mac required)
  • HTML/CSS/JavaScript (Cordova or Phonegap for cross platform apps, nice but not as good as native platform apps)

Universal

  • C#, you can also use it for building web apps with ASP.NET (but I find that very confusing and as far as I know its restricted to Windows Servers) 
  • C++ (Cross Platform)
  • Python (not for mobile, Cross Platform)
Link to comment
Share on other sites

Link to post
Share on other sites

I'd throw my vote onto C++ and Perl for some scripting. Both are incredibly powerful, both are great for quite anything you might want to do.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, MoVo said:

As @Azgoth 2 mentioned, if you're aiming for a career Java, C# or C++ is probably the best choice. You can use Java(as well as C#) to create Android Apps. If you want to go with iOS Apps you have to learn Swift (or Objective-C). Java C# and C++ have a very similar syntax with some language-specific additions (& var, await, list goes on..) Python has a rather "special" syntax compared to the ones mentioned before, but if you're Diggin deep into python you can actually build very powerful applications (sublime text) or you can use it for machine learning and data analysis (SkLearn, TensorFlow...). 

If you want to build websites PHP once was the absolute favorite of everybody, currently it seems like everybody is going with the Nodejs (JavaScript on the server side), which you can actually use to build desktop applications, and mongodb. A lot of companies are also using Ruby (on Rails) for web applications. RoR is very easy to learn and incredibly powerful, it's already around for a while, but it still does its job pretty good (In fact Twitter was initially built with Ruby On Rails, but as far is I know they are now using Scala).

As a summary you could say: The language you should choose depends on what you want to build. 

Here is a small overview over languages I use(d) and gained some experience

Web Applications

  • Ruby (on Rails) (Large collection of libraries, making it easy to built powerful webapps)
  • Nodejs (Large community, great online learning resources and packages for building powerful apps)
  • PHP (Used by a lot of popular websites, easy to write )
  • Python (Simple language, but very powerful. There are a lot of tutorials, especially for beginners)

Desktop Applications

  • Nodejs (electron)
  • C#
  • C++
  • Python
  • Java

Mobile Applications

  • Java (Android)
  • C# (Android with Xamarin Framework or Windows phone, if there is anybody using it)
  • C++ (Android NDK)
  • Swift (iOS *mac required)
  • Objective-C (iOS *mac required)
  • HTML/CSS/JavaScript (Cordova or Phonegap for cross platform apps, nice but not as good as native platform apps)

Universal

  • C#, you can also use it for building web apps with ASP.NET (but I find that very confusing and as far as I know its restricted to Windows Servers) 
  • C++ (Cross Platform)
  • Python (not for mobile, Cross Platform)

Thanks for the long and informative reply, it would have been helpfull if I didn't find out today that for my CS A level we are doing Pascal.  I've done a bit of research and it seems like a bit of a mix between python (which I did say I had done earlier) and Java, so it shouldn't be that hard. And I've done OOP before, I've made about 10 game demos with it, never got them into full games. 

 

Thanks for your replies, sorry about the useless topic in the end.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Wrb said:

Thanks for the long and informative reply, it would have been helpfull if I didn't find out today that for my CS A level we are doing Pascal.  I've done a bit of research and it seems like a bit of a mix between python (which I did say I had done earlier) and Java, so it shouldn't be that hard. And I've done OOP before, I've made about 10 game demos with it, never got them into full games. 

 

Thanks for your replies, sorry about the useless topic in the end.

talking about languages is never a useless topic, if you can expand you knowledge even a tiny bit its all good.

 

is pascal even that widely used any more? @Nuluvius might go off an an awesome rant about education if we keep going.

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

Link to comment
Share on other sites

Link to post
Share on other sites

Agree to your @vorticalbox, talking about languages is absolutely never useless. But I think pascal isn't used very widely, but as far is I know it's also a very clean language which makes it easy to learn (indention blocks etc.)

@Wrb Some people might ask themselves a similar question. Programming is a pretty complex topic, there are always some people out there with different experiences or different approaches to similar problems. It's good when you can share your knowledge with beginners. I'm from Germany and I didn't have the chance to learn a programming language in school, I read a lot of books and learned everything by myself, that's why I have a basic knowledge of a lot of programming languages, but Java JavaScript etc. are some of the few languages I have a deeper understanding of how they actually work :D So enjoy learning things like this school :D

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

×