Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

5pArxz's avatar
Level 16

Learning Other Languages

Hi Everyone,

I'm looking into learning some other languages mainly C++, C# and java and was wondering if anyone knows of some good resources where i can learn these ?

Any tips would be greatly appreciated :)

0 likes
31 replies
maytham's avatar

I work with c# mvc 4 for web and mobile development, great, I have suggested http://www.tutorialspoint.com/csharp/ but i am sure you find a lot online stuff. btw if you know laravel 4 it will easy to learn c# mvc. but if you want to develop software that's need another discipline. (i have learn c# in my school time)

http://www.microsoftvirtualacademy.com/training-courses/developer-training-with-programming-in-c http://www.tutorialspoint.com/csharp/

This books is also good, http://it-ebooks.info/book/901/

And lastly the Visual Studio Community is free now http://www.visualstudio.com/

When all this said, I still love working with Laravel, but some time Enterprise companies looking for C# solutions

1 like
5pArxz's avatar
Level 16

@maytham, Thanks for the suggestions. I know C# to some extend, and it's my second favourite language besides PHP because it's very similar in syntax it's easy to pick up. C++ in the other hand seems a bit more complex. My basic idea is PHP for web development C# / C++ for widows application development and Java for cross platform and Android etc.

yayuj's avatar

Why you choose Java over C++ to work cross platform?

1 like
maytham's avatar

@yayuj I know you are writing to @5pArxz, but I would give my opinion, normally if you want to make native programming and for instance want to make games, Java / C++ is the best way, but again it all depends on what is the goal, requirement, budget and etc of the project. I do Java to make native Android programming, and you know it is not that difficult any way. @5pArxz you are welcome.

davorminchorov's avatar

http://www.pluralsight.com/ (a paid service) has a lot of Microsoft content but it has other languages too. I believe it's one of the best websites for studying new stuff including other areas and not just programming / software development.

yayuj's avatar

@maytham - Don't worry, it's nice to know your opinion and I support that. I'm a C++ programmer too and the way that he said that he is using Java to cross platform made me wonder why, because C++ can handle this pretty well and really fast.

nolros's avatar

@5pArxz I noticed you didn't have COBOL or BASIC in your list ... damn you! :)

Seriously, good question as I'm just start with C# and use www.lynda.com very good for an intro, but you will need some of these other resources for intermediate and advanced.

5pArxz's avatar
Level 16

Woah just got of work an there are a ton of replies lol, let me start from the top:

@yayuj the most simple answer is that i know jack about C++ and from what i read it seems to be leaning more towards the Windows Operating system ( and honestly i didn't know it was even cross platform compatible ), the reason for me choosing Java over C++ is simply because i want to also be able to create Android applications with Java as well as apps that can run on Pc, Mac and Linux operating systems respectively. Obviously I'm not an experienced C++ developer and don't understand the limits / restraints it has etc.

@maytham Thanks for the response on that i feel the same, however i have little interest in game development, my imagination is simply not that good :P

@Ruffles Thanks i didn't know about that website, and will definitely be checking it out :)

@nolros what is COBOL ? and Basic are you referring to Visual Basic ? I've tried Linda but their tutorials / courses simply put irritate the living hell out of me, it's too slow and i fall asleep around lesson 3.

As a start i found this playlist on YTube: https://www.youtube.com/playlist?list=PLE7E8B7F4856C9B19 ( Java ) it seems good so far, but it's also just going through the basics, looking for more advanced resources as obviously i already grasp the general concept of programming and for heavens sake i know what a variable is lol :D

Wishing on a Laracasts for these languages...

yayuj's avatar

@5pArxz - I understand but let me explain something for you about C++. Nowadays C++ is really powerful and you have compilers to work in several platforms You have also CMake to work as cross-platform build system (it's open source). It's fast, you can search and see the differences between the Java and C++ talking about performance; The only problem though is that OO in C++ is a little different, at least with inheritance. In Java you have interfaces and abstract classes, in C++ we have just classes that can have pure virtual method and classes that inherits from this one will have to implement those methods. The thing is that C++ allows multiple inheritance, and it's not that good. In Java you have better name conventions for interfaces, abstraction classes, in C++ we have this, and that is it. We have C++14 already that I find amazing, starting from C++11 that I thought that was amazing already, now it's even better. - If you want to create games, for android and several mobiles and platforms you can use Qt as C++ framework, it's easy and cross platform (write once and run everywhere - and free). - There are other frameworks that allows that as well.

@nolros He is messing with you, COBOL and BASIC they are old languages, and you probably won't be looking for them. You can find banks that still use COBOL - god knows why.

5pArxz's avatar
Level 16

@yayuj Thanks for the in depth explanation of C++ :) however where can i start learning it ? i've actually looked around on the web and resources seems limited and / or out dated ?

yayuj's avatar
yayuj
Best Answer
Level 3

@5pArxz - I will help you here saying what you can do in order to learn. I assume that you know already about programming logic and so on, but let me say beforehand that coding to web is different than coding to desktop. - In web you don't worry about memory that much, in desktop you have to, avoid leaking, profile your application in order to see how fast it is, so on and so forth. This is not discouraging, the opposite, it's good when you learn, the only barrier for you will be your knowledge, if you keep studying you will understand and be able to do almost everything. Maybe a language compiler or interpreter just like PHP, a web server, an application that does bad ass things like Artificial Intelligent stuffs, and so on. For example, big companies of games, that is your area of interest, they don't use languages like Java to create cross platform games, they create their own framework using C++ (mostly) and their own game level editor, or map editor, terrain editor and so on. You can have, for example:

  • Blender
  • Unreal Engine 4
  • Havok Vision Engine
  • Snowdrop Engine (the best in my opinion)

In C++ you can use OpenGL API to render 3D or 2D stuffs cross plataform, OpenAL as cross platform audio library, GLSL to do amazing things like (global illumination, ray tracing, path tracing - google those things, you will fall in love - just suffix realist, example: ray tracing realism), and so on.

The thing that you must to do always is ask, not here, of course, but to the oracle, Google. - don't limit watching just one video about a subject, watch more than one, take your conclusions and try it, practice.

If you are willing to create your own game engine there are several places where you can find, just search for it.

I recommend you to learn C++ first and if you want try to learn a framework (i don't like, too much dependencies), if you choose to work with C++ purely you can handle your own dependencies, and so on.

Now go there, search and be a pro. Anything... just ask here, if you want to. anyway...

1 like
5pArxz's avatar
Level 16

@yayuj haha thanks for the very inspiring post indeed! okay you have me convinced, i will drop java and learn C++ first :)

Thanks for everyone's help

yayuj's avatar

You're welcome, anything just ask.

maytham's avatar

@nolros, now you name cobol and basic, lol you forgot then Pascal and assembler my favorite language before web time.

yayuj's avatar

@maytham - Pascal still in use - Delphi, it's not the language itself but it was based on Pascal. - Assembly still in use, you can often see in malware analysis, reverse engineering, hooking, driver development, embed systems, operating systems, packing and so on. I really like assembly.

Even languages like AutoIt and AutoHotKey is useful in some cases.

maytham's avatar

@yayuj nice to hear ppl like assembly, when I tell ppl today about assembly they tell what is that ;)

5pArxz's avatar
Level 16

@yayuj Thanks for recommending the movie, just finished watching it! The story about Tommy and Edmund is very touching with Super Meaty boy :) Actually wane go buy a copy of the game right now :P

yayuj's avatar

@maytham - You won't find easily people that can code in assembly, but there some out there.

5pArxz's avatar
Level 16

@yayuj cout << "Thanks Bud" << endl; return 0;

haha couldn't resist

yayuj's avatar

You forgot the std namespace, but I will forgive you. - You're welome.

Next

Please or to participate in this conversation.