Jump to content

What language to learn?

Ivyk

I'm sitting at school and the teacher told us we can choose our own project.

I was wondering if anybody has suggestions on what language to make the project in (can be multiple languages of course).

I have some experience with HTML5, CCS3, JavaScript, PHP, C# and classic ASP.

Current rig: CPU: AMD FX-8120  Cooling: Corsair H100i  Mobo: ASRock 970 Extreme 3  RAM: 8GB 1333Mhz  GPU: MSI GTX 660Ti Power Edition  Case: Fractal Design Define R4  Storage: 2TB Seagate HDD + 128GB Crucial SSD  PSU: be quiet! 730W bronze

 

Link to comment
Share on other sites

Link to post
Share on other sites

I am doing ruby at the moment, i also did a bit of php before that (And of course HTML and CSS)

CPUIntel 4670k  Motherboard - Gigabyte GA-Z87X-D3H  RAMKingston HyperX 8GB  GPU - EVGA 780  Case - Fractal Design Define R4    Storage - 2TB WD Black, Samsung 840 Evo 128GB     PSU - Corsair RM650  Display -  Benq XL2430T and Acer S235HL  Cooling - CM Hyper 212 Evo  Keyboard - Corsair K95  Mouse - Razer Deathadder  Sound - Sennheiser HD 558                                 Mic - Blue Snowball  Phone- OnePlus One  Tablet - Nvidia Shield

Link to comment
Share on other sites

Link to post
Share on other sites

Try Python. Or Swift. Or Smalltalk.

or even maybe C(if procedural) or C++(if OOP).

 

But first - it is mandatory to know what you are going to do. So get the project idea straight. Well, you know - different languages for different purposes.

Link to comment
Share on other sites

Link to post
Share on other sites

I personally like c# best and i think its a good choice, the syntax looks like a few other syntaxes like java and a bit of c++ but, the choice is up to you (:

Link to comment
Share on other sites

Link to post
Share on other sites

Maybe HTML and PHP with some CSS and scripts? Personaly think its the esieast to start with but have just tried a little bit of the other though

FX-8350 GTX760 16GB RAM 250GB SSD + 1TB HDD

 

"How many roads must a man walk down?" "42"

Link to comment
Share on other sites

Link to post
Share on other sites

C# is in general a good option.

You could learn Java and Javascript as a complement as well.

Link to comment
Share on other sites

Link to post
Share on other sites

C# is a good one, Java as well. Eclipse is a good program to work with for Java projects, and there is also an Android version if you're interesting in mobile apps.

Link to comment
Share on other sites

Link to post
Share on other sites

Programming languages are all about how you're gonna use them. For example C/C++ are predominantly languages for games, anything performance critical (mixed with assembly) and legacy project support. It is a cool language, though it's easy to shoot yourself in the foot while using it, and it usually takes A LOT more time to write something functional with it, than with C# or Java. 

 

C# and Java are predominantly used either for enterprize projects (not my cup of tea) or for small and/or non-performance critical projects. There are some successfull games written in C#, like terraria for example, or for Java ProjectZomboid, but those are usually indie projects.

 

There are also a lot of scripting languages like javascript, python, bash, powershell etc. Those could come in handy almost in any project you work on, usually in form of some automatization scripts, or in web programming. Rarely used on their own in big projects. Also most of them produce quite a portable code. A huge benefit is that that they usually have a much better learning curve than those mentioned above, and are a bit more fun learning at the beginning. 

 

Objective-C, a C dialect that is primarily used for programming on apple devices.

 

There are also various declarative languages (Html, Xml, Xaml, Qml, etc.), primarily used for UI and Web design.

 

And, in short, those are the languages knowing which really well will most likely get you employed in the current job market.

 

There are also a lot of other less popular (for various reasons) and/or exotic languages (they are not necessarily worse mind you, just better suited for some other purposes, or newer, or <other reasons, lots of 'em>).

 

So it boils down to these things:

 

1) Do you really want to put a lot of effort in this project? Because if not, it kind of excludes those main languages (C/C++, Java, C#) from the list, unless you already know pretty well one of them, or have to learn one of them soon anyway.

2) Where would you like to work when you graduate? If in gaming industry, I would strongly advice start learning and using C/C++ right now. If in corporate sector, Java & C# are you bros, pick one and you're good to go. You could also be a web designer, but, at least in my area, they are not payed as well as devs, and imho that job is not that interesting. That knowledge though can still come in handy elsewhere.

3) What would you really like to do? Always pick an idea that you'd really want to do first, than choose your language based on that. And if you really don't care, stick to the scripting languages, and, maybe basic C#.

 

And, just a suggestion, if you're a curios guy and like to learn new stuff, I'd suggest you check out the Rust language. It could be interesting for your teacher too. It's a new language, beeing developed by guys in mozilla, that has pretty good chances of becoming next great language, replacing some of the modern most popular ones. It has the power and performance of C/C++, but ensures program stability buy employing special syntax and many compile time checks (that is without introducing any run-time overhead). It compiles into machine code, close to hardware just as C, but guarantees safety of memory manipulations, and solves some multithreading problems that all C/C++, C# and Java have, concerning data shared between threads. DISCLAIMER: An alpha. Experimental. Could unpredictably blow apart firing lazers or spawn monsters with over 9k tentacles. Not for the faint-hearted. But totally awesome.

Link to comment
Share on other sites

Link to post
Share on other sites

You should learn C#, Java or Ruby to understand the basics of programming, abstraction and general OOP.
You should learn C or C++ (preferably C++) to understand the basics of how a program interacts with the hardware (points, explicitly allocating memory etc.).
You should always know javascript because even thought it is an awful language it is used in almost every web platform in existance.

 

If you are just planning on studying computer science in school to fill some quota, either because you are not interested in programming or you feel like you already know whatever you it is you are being taught at school than just pick whatever option is easiest for you to finish it up. If feel like you will be more educated as a result of this project and/or you really care about programming than try to pick something from the list above, depending on what project you are planning to do and what you are studying/your goals for this project. I don't know how much of this project is in your hands because schools usually don't let students have much freedom with their work, so apply as necessary.

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

×