Jump to content

best programming language to learn?

warzkaz

I already speak 3 languages and it's time to move to programming languages, unfortunately for me there are so many of them 
and it's hard to chose one

Amd phenom ii x4 955 Asus crosshair iv formula Kingston hyperx fury 8GB 1600mhz ASUS Radeon R9 280X DirectCU II
Cooler master haf xb evo Antec 750w 500gb wd black BenQ gw2760hs Samsung 850 EVO 250GB 2.5" Solid State Drive 

Link to comment
Share on other sites

Link to post
Share on other sites

I already speak 3 languages and would like to learn a programming language, unfortunately for me there are so many of them 

and it's hard to chose one

My opinion C++, mainly because once learnt most other current languages build upon it.

Link to comment
Share on other sites

Link to post
Share on other sites

c++

Wishing leads to ambition and ambition leads to motivation and motivation leads to me building an illegal rocket ship in my backyard.

 

Link to comment
Share on other sites

Link to post
Share on other sites

any recommendations on where to start? like a book or a website 

Amd phenom ii x4 955 Asus crosshair iv formula Kingston hyperx fury 8GB 1600mhz ASUS Radeon R9 280X DirectCU II
Cooler master haf xb evo Antec 750w 500gb wd black BenQ gw2760hs Samsung 850 EVO 250GB 2.5" Solid State Drive 

Link to comment
Share on other sites

Link to post
Share on other sites

any recommendations on where to start? like a book or a website 

CodeAcademy is a good start. And it's free I believe.

EDIT Nvm apparently they don't have C++ >.<

Link to comment
Share on other sites

Link to post
Share on other sites

any recommendations on where to start? like a book or a website 

To quote the company line....www.lynda.com/linus

 

Think there's a coupon code somewhere as well for a discount.

Link to comment
Share on other sites

Link to post
Share on other sites

Certainly possible to learn C++ for your first programming language although something easier like Python would also be a good choice. There's many resources to choose from here across multiple languages (includes C++ and Python) as well extra information.

 

Here's some additional C++ resources

 

Lynda.com was also mentioned however with the wrong promotional link. It costs money but you can get a free 10 day trial with code wanshow or techquickie or pax (if you want to support Linus Media Group). Lynda has many video tutorials for multiple languages and includes C++ and Python.

 

 

CodeAcademy is a good start. And it's free I believe.

 

CodeAcademy doesn't have C++ although does have Python.

Link to comment
Share on other sites

Link to post
Share on other sites

Don't tell people to start with python, python is a scripting language with very unusual syntax. Python isn't a good starting point.

you should start with C in my  opinion and from there go and learn oop using c++

Link to comment
Share on other sites

Link to post
Share on other sites

Don't tell people to start with python, python is a scripting language with very unusual syntax. Python isn't a good starting point.

you should start with C in my  opinion and from there go and learn oop using c++

 

Python is a great starting point. It's multi-platform. It's less confusing to get something up and running. The syntax is easier to read for beginners than the C-style syntax. It's almost like pseudocode in comparison. It allows you to learn many programming concepts without confusing you with low level details.

 

Many people start fine with C/C++ but I feel that Python is a better bet for someone who has no familiarity with programming. You don't know how hard it'll be for someone to grasp basic programming and I feel that Python helps make the transition from non-programmer to beginner programmer easier than C/C++ does. So that's why I recommend it.

 

I also recommend people learn multiple languages and would put C/C++ as a perfectly fine choice as a second language depending on what direction they wanted to take things.

Link to comment
Share on other sites

Link to post
Share on other sites

All depends on what you wanna do with it.

If you want to write applications that you want to develop quickly, learn something like Python on C#.
If you're interested in web development learn javascript and PHP (also helps to learn HTML and CSS).
If you're interested in writing high performance code (not recommended for starters) learn C or C++.

Link to comment
Share on other sites

Link to post
Share on other sites

The first language I learnt was HTML and CSS then I went to PHP. After PHP I learnt C# and now I'm moving to Objective-C. Personally I feel that it's good that I didn't start with C# or obj-c since that would probably "frighten" me, I'm glad that I got my hands dirty with some super basic languages first and then move to something that is more advanced than what I currently was learning.     

Hello!

Link to comment
Share on other sites

Link to post
Share on other sites

If you have no experience with the basics of Programming I wouldn't go C++ first. Syntax is not the Problem, you'll learn that sooner or later, just like vocabulary, but to get behind the theory how software works etc. I'd go for something like Java or C#. 

There is a lot of documentation for beginners for those languages since schools also use them to teach basics of programming and they do a lot of stuff for you that you shouldn't have to worry about if you are a complete newbie (e.g. memory management).

 

Is entirely possible to start with advanced Languages, hell you could even go for Assembly but be aware that the learning curve is going to be a lot steeper.

And besides that, once you know 1 or 2 Porgramming languages and have some experience with how software works and with software design you'll pick up new languages pretty damn fast, so no need to stress it and learn something fancy right away

Link to comment
Share on other sites

Link to post
Share on other sites

Holy shit, starting in C++ where you're doing mutable variables, references and pointers, goofy syntax, overloaded operators, memory management ... like an all-star list of the most confusing topics in programming ... all from the very beginning? C is also a terrible language to start from. C is a great second or third language when you're getting into systems, but C is such a pain in the ass to code in for someone just learning to program. I like Scheme since there is no syntax other than (function argument1 argument2 ... argumentN) and you can do so much in it without even touching mutability, and even better it's used by the best intro programming book out there that also happens to be freely available online from the publisher.

 

Functional programming, such as that in the first two chapters of the book I linked above, is the easiest way to learn programming. Imperative languages like C and object-oriented languages like Java, C++, C# are terrible languages to jump into for an intro to programming. In a functional language your programming statements are like mathematical truths in that they're timeless. In imperative languages you always gotta remember to update i and do it in the right place, in OOP languages your object is always changing. You always have state to deal with so you're concerned with time and with memory, with computing intermediate results, etc while in functional languages you're just concerned with correct statements. Take the factorial function defined by 0! = 1 and n! = n * (n-1)! for n >= 1. In Scheme you'd write it something like

(define (fact n)  (if (= n 0)      1      (* n (fact (- n 1)))))

That's just basically a mathematical statement saying

n! =   if (n = 0)    then 1    otherwise n * (n - 1)!

But in C you'd usually write it

int fact(int n){   int acc = 1;   for (int i = 1; i <= n; i++) {      acc = acc * i;   }   return acc;}

You may laugh, who cares about writing factorials, that's super easy. But I remember reading in a great book called Programming Pearls (I highly recommend it) where they went to IBM or HP or some big tech company in the 80s, got a bunch of their senior software engineers together, and gave them three hours to implement binary search. This is one of the simplest algorithms in the world, and none of them could do it because they were thinking in the imperative way (e.g., the C style factorial) instead of the much simpler recursive style (shown in the Scheme factorial). Binary search is the easiest algorithm in the world to remember if you remember it recursively, but doing things in a while loop makes it confusing to write (and even worse to read). But back then recursive functions were expensive because memory was expensive. Now it's not, and programmer time is the expensive thing. If you want another illustration of why recursion is awesome, look at how simple and elegant quicksort is in a book like CLRS. Then see Donald Knuth's ugly implementation using an explicit stack in 1970s style imperative code in The Art of Computer Programming, Volume 3.

 

Languages like C and C++ are great for when you have to write really high performance code close to the metal, but functional programming involving lots of recursion is a great jumping off point from the beginning because all you're focused on in the problem you're solving and how to break it down, not on memory, not on time, and so on. Walk first, then run.

Link to comment
Share on other sites

Link to post
Share on other sites

When it comes to C, it's a sin to learn it from any book other than K & R, which is such a beautiful and concise book on C for someone who already knows how to program.

 

http://www.amazon.com/The-Programming-Language-Brian-Kernighan/dp/0131103628

 

As opposed to a horseshit Deitel & Deitel book trying to teach C as a first language

 

http://www.amazon.com/C-How-Program-Paul-Deitel/dp/013299044X/ref=sr_1_1?s=books&ie=UTF8&qid=1427637157&sr=1-1&keywords=deitel+c

 

You can always tell how good a book is by how shitty it looks on your shelf. My copy of K&R is dirty and the pages are splayed out from repeated use, my copy of APUE is filled with taped-on tabs, notes in the margins, all kinds of shit, while my twenty year old copy of Deitel C still looks like it's fucking brand new if you wipe all the dust off the cover.

Link to comment
Share on other sites

Link to post
Share on other sites

It depends what you wanna do.

 

If you wanna make browser games, you can either learn HTML5 or Flash

If you wanna make online browser games, learn Java

If you wanna make desktop games, learn C++ and OpenGL

If you wanna make random programs, C++/Qt or C#/.NET is pretty neat

If you wanna make retail sites, look into HTML5, CSS3, Javascript, PHP, SQL, JQuery, AJAX

If you wanna make viruses, hack games, create game bots, learn C/Win32 API and assembly

 

Good luck, you've got a long journey ahead of you.

Link to comment
Share on other sites

Link to post
Share on other sites

c++ because it is over complicated for beginners and in the end you can't really do more then with other languages, but certainly c++ is ultra cool and ALL the game developers use it and to be honest that is all the counts and also c++ is amazing, while java is lame and slow, python is to esay and ... blablabla ...

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

c++ because it is over complicated for beginners and in the end you can't really do more then with other languages, but certainly c++ is ultra cool and ALL the game developers use it and to be honest that is all the counts and also c++ is amazing, while java is lame and slow, python is to esay and ... blablabla ...

Well the fact that if you've learnt C++ you've already learnt most of java.....C++ is old, and almost outdated, but there is a reason is still exists.

Link to comment
Share on other sites

Link to post
Share on other sites

I would say visual basic, great tutorials, easy to learn like really easy.

  ﷲ   Muslim Member  ﷲ

KennyS and ScreaM are my role models in CSGO.

CPU: i3-4130 Motherboard: Gigabyte H81M-S2PH RAM: 8GB Kingston hyperx fury HDD: WD caviar black 1TB GPU: MSI 750TI twin frozr II Case: Aerocool Xpredator X3 PSU: Corsair RM650

Link to comment
Share on other sites

Link to post
Share on other sites

Well the fact that if you've learnt C++ you've already learnt most of java.....

bullshit.

you've learnt c++.

you've maybe learnt some basic programming concepts

(but you can learn those with almost any other programming language as well)

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

bullshit.

you've learnt c++.

you've maybe learnt some basic programming concepts

(but you can learn those with almost any other programming language as well)

I can say this as an outsider looking in. My first computer language was basic (not visual basic)

The syntax, and structure from learning C++ stood me in good fashion when I had to learn java. A lot of the language, and grammar were carried over.

Java at the time was a multi platform implementation of C++. While I'm sure it's progressed while I've been out of the industry, at it's core it remains the same with more add ons, more rules, and a more diverse language to support the more diverse applications it's required to run.

Link to comment
Share on other sites

Link to post
Share on other sites

c++ because it is over complicated for beginners and in the end you can't really do more then with other languages, but certainly c++ is ultra cool and ALL the game developers use it and to be honest that is all the counts and also c++ is amazing, while java is lame and slow, python is to esay and ... blablabla ...

Honestly I think you have no idea what you are talking about. 

C++ is extremely powerful, java is neither lame nor slow and python is very versatile.

Especially in embedded environments java can be extremely useful

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

×