Best programming langauge to learn

Soldato
Joined
4 Oct 2008
Posts
6,693
Location
London
Hey all,

So I'm looking for a new language to pick up, brief background of me; starting with Java at uni and did some C++ then went head first into PHP at work and I've been doing that for the last 3 years. PHP isn't bad but all the cool places I find either use a C language, python, ruby or Java. And I sort of want to move form just making websites to building much more interesting products.

I do about 50/50 between PHP and Angular, but if I had too choice I would pick a backend language over front end as you have a lot less PM/PO involvement in how something should look or behave, most of the time with them speaking from a point of no experience and forcing you to do what they want which I can only take for so long.

So over the last few weeks I tried out a number of languages, including Objective C, Python, .Net MVC, .Net sort of rubs me the wrong way since I have an irrational hate of MSFT after dealing with IE, Objective C just looked so weird, and Python didn't have types at all, not even things like private functions which scared me a little.

Anyways posting here to look for some recommendations/feedback from people who actual have experience in these things. I am also looking around as I might move to the states in a few years and I didn't find a whole lot of PHP there. I don't mind going into iOS development, or Python/C++/C#. Also it seems PHP developers don't make as much, I'm guessing since the barrier to entry is so low, and you can get a lot done with very ****** code compared to other languages.

Also things to mention are I don't mind about it being strongly typed or not, I like things that look neat, and I'm really enjoying OOP.
 
Soldato
OP
Joined
4 Oct 2008
Posts
6,693
Location
London
I can give you a bit of advice along the Objective-C side of things SNIP

Thanks for the info, I have a friend that does Objective C and he also loves it, but it does look extremely weird. I might give it a shot thou.

Neither of which are languages.

To the OP, what is it you're actually trying to achieve?
Do you want a more interesting job and are looking for what to learn to get that?
IMO functional stuff is the way forward, and if you like things being neat it will probably appeal. I'd probably be looking to something like Scala or Clojure in your position. Both languages seem to be getting traction across fairly wide areas at the moment.

Basically just want a job where I get to do more interesting stuff with code, typically with PHP its getting some data from the database, changing it, and passing it too the front end. I do much more API development, but it is still the same thing more or less, and your just returning some json.

So I want something where your doing more interesting things with data, I'm not sure what but anytime I do find something that does really interesting stuff its not in PHP, a lot of places do use Javascript on the front end and I really enjoy that. But I feel like I need a better/more backend languages. I will take a look at Scala or Clojure, which are both Java IIRC.

python is simple to pick up if you have prior knowledge.

Personally, I'd go the mobile route. You've Java experience, move to android dev :)

I have set up a Python project and will play around with it on the weekend. I did make a Android app during uni and it was ok so I might take a look at that again.

C++ gets might vote ...

Focus on good software practices, algorithms, data structures, how computers and operating system work, testing, design, develop processes, software architecture.

This is basically what I want, work where Algorithms and data structures are really important, PHP sort of abstractions everything and its great when your picking it up but now I want to move onto something more serious. I'm reading about C now and thinking thats a great place to start. Its low level, you have to care about memory which is something I've never put thought into, it has all sorts of data structures.

Once you've got the idea behind the priniciples of one language, learning another becomes much easier.

I think I'm at this place now, where I can look at source code for something and understand it, I had to debug some .Net at work a few days ago and I understood it pretty well outside of its idiosyncrasies and I think its a great time to pick up a few new languages.

Cheers for all the advice btw guys given me a lot to think about and play around with over the weekend, and coming weeks.
 
Soldato
OP
Joined
4 Oct 2008
Posts
6,693
Location
London
Thanks for all the feedback guys. I feel have a lack of appreciation for data structures, memory managment and more of the low level stuff going on. And I feel this will help improve my programming, so I'm going to make a few basic apps in C/C++.

Then I will give Java/Python/C# a try, I don't want to actual make programs where I have to always worry about memory, and where I can have a risk of things like segfault. I think I will give them all a fair chance and see what fits with me better.

I might give Objective C a chance too, I'm not too sure. This will mostly be done on weekends for fun. I miss just programming for fun I'm sure a lot of you would agree, it sort of relaxing when your making something at your own pace in your free time, compared to heavy deadlines we work to these days.
 
Soldato
OP
Joined
4 Oct 2008
Posts
6,693
Location
London
Like you mentioned in the other thread in the Apple sub forum, Swift has a lot of benefits going for it too. If you were definitely serious about looking into iOS development I would look at learning (and comparing the syntax) of both languages. I've already seen sample projects that are written in both for the sake of comparison, such as how method calls and the like differ. It is also very early days for Swift, and whilst beta compilers are not a fair comparison, current benchmarks show the performance of it are significantly slower than Objective-C in contrast to the claims made in the WWDC keynote.

Yeah, its all very interesting. I'm sure Objective-C is faster, apple just showed 2 edge cases so its meaningless. The Swift syntax is also going to change, its not even 1.0.

I have been re-learning C/C++ recently, and for the most part its been fun. I think moving to Objective-C might make a lot of sense, but I'm also going to look into a few other things. I tried Python and its not for me, the thought of not being able to set a private function is a bit scary hahaha. Scala seems interesting too.
 
Back
Top Bottom