Jump to content

Which language to learn first?

Whosonicus

Greetings friends, since i have loads of time in my hands, i've decided to take up programming.

 

Obviously there are many languages out there.

 

Which language would be good for beginners?

Link to comment
Share on other sites

Link to post
Share on other sites

Chinese is best to learn first, its not easy tho

Then maybe Spanish

 

Oh shit programming, I jumped the gun. I hate programming.

 

All I saw was the title

Which language to learn first?

 

and

Which language would be good for beginners?

 

then as I click post, I see program and like eh fuckit just leave it, then It thought fuckit edit it.

Link to comment
Share on other sites

Link to post
Share on other sites

I started out with C and I found it fairly easy to pick-up (engineering student). If you decide on C, consider C++. It is easy to branch to other C-based languages like Java.

 

Consider what your goals are and what you plan on doing with programming. Learn with a purpose.

Link to comment
Share on other sites

Link to post
Share on other sites

20 minutes ago, Whosonicus said:

Greetings friends, since i have loads of time in my hands, i've decided to take up programming.

 

Obviously there are many languages out there.

 

Which language would be good for beginners?

I'm not going to repeat anything the rest hasn't said before my. I started with JavaScript, and then went to Java. I just completed my HTML and CSS course on CodeCademy.

Link to comment
Share on other sites

Link to post
Share on other sites

The language doesn't matter, it's only a tool. It's like asking what drill to use when you haven't learnt how to drill. What you need to learn is the fundamentals of programming, which are the same on all programming languages.

From salty to bath salty in 2.9 seconds

 

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, ItsTheDuckAgain said:

To answer the question in the headline:

 

English

 

*captain flying away.

Start hate below this line:

 

_____________________ <--

HATE

language that i like to learn is C#. but as cybernetictitan said, C++ is a nice start

~i5-7600k @5GHz ~Be Quiet! Dark rock 3 ~MSI GTX 1070 Gaming X 8G ~Gigabyte GA-Z270-gaming K3 ~Corsair Vengeance Red led ~NZXT S340 Elite

Link to comment
Share on other sites

Link to post
Share on other sites

before learning to code you need to be fluent in cursing =) 

Main System:

Anghammarad : Asrock Taichi x570, AMD Ryzen 7 5800X @4900 MHz. 32 GB DDR4 3600, some NVME SSDs, Gainward Phoenix RTX 3070TI

 

System 2 "Igluna" AsRock Fatal1ty Z77 Pro, Core I5 3570k @4300, 16 GB Ram DDR3 2133, some SSD, and a 2 TB HDD each, Gainward Phantom 760GTX.

System 3 "Inskah" AsRock Fatal1ty Z77 Pro, Core I5 3570k @4300, 16 GB Ram DDR3 2133, some SSD, and a 2 TB HDD each, Gainward Phantom 760GTX.

 

On the Road: Acer Aspire 5 Model A515-51G-54FD, Intel Core i5 7200U, 8 GB DDR4 Ram, 120 GB SSD, 1 TB SSD, Intel CPU GFX and Nvidia MX 150, Full HD IPS display

 

Media System "Vio": Aorus Elite AX V2, Ryzen 7 5700X, 64 GB Ram DDR4 3200 Mushkin, 1 275 GB Crucial MX SSD, 1 tb Crucial MX500 SSD. IBM 5015 Megaraid, 4 Seagate Ironwolf 4TB HDD in raid 5, 4 WD RED 4 tb in another Raid 5, Gainward Phoenix GTX 1060

 

(Abit Fatal1ty FP9 IN SLI, C2Duo E8400, 6 GB Ram DDR2 800, far too less diskspace, Gainward Phantom 560 GTX broken need fixing)

 

Nostalgia: Amiga 1200, Tower Build, CPU/FPU/MMU 68EC020, 68030, 68882 @50 Mhz, 10 MByte ram (2 MB Chip, 8 MB Fast), Fast SCSI II, 2 CDRoms, 2 1 GB SCSI II IBM Harddrives, 512 MB Quantum Lightning HDD, self soldered Sync changer to attach VGA displays, WLAN

Link to comment
Share on other sites

Link to post
Share on other sites

I suggest starting out with Python. It's widely regarded as a beginner friendly language. Also as a heads up you might find the beginning a tad boring but don't get discouraged. If you can manage past that you can start making some really cool stuff and then it gets way more fun and interesting.

Link to comment
Share on other sites

Link to post
Share on other sites

I'd start with C/C++ and then continue with other "easier" languages. I started with java and find it rather difficult to go to C++. You will easily be able to adapt to languages such as C#, java or even Ruby when you have a good foundation like C++.

My Rig: AMD Ryzen 5800x3D | Scythe Fuma 2 | RX6600XT Red Devil | B550M Steel Legend | Fury Renegade 32GB 3600MTs | 980 Pro Gen4 - RAID0 - Kingston A400 480GB x2 RAID1 - Seagate Barracuda 1TB x2 | Fractal Design Integra M 650W | InWin 103 | Mic. - SM57 | Headphones - Sony MDR-1A | Keyboard - Roccat Vulcan 100 AIMO | Mouse - Steelseries Rival 310 | Monitor - Dell S3422DWG

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Anghammarad said:

before learning to code you need to be fluent in cursing =) 

and remember to compile with -lncurses.

 

 

2 hours ago, -iSynthesis said:

I'd start with C/C++ and then continue with other "easier" languages. I started with java and find it rather difficult to go to C++. You will easily be able to adapt to languages such as C#, java or even Ruby when you have a good foundation like C++.

Overall this.  Specifically C++.  Its basics are easy to learn, and it's probably [needs reference] the language with the most transferable skills...

 

7 hours ago, Pandalf said:

What you need to learn is the fundamentals of programming, which are the same on all programming languages.

While I agree to an extent, learning LISP will likely do rather little to help you pick up Java.  But that again largely depends on what level you're talking about.



Ad an aside to the OP.   Anyone who recommends starting out with LISP (unless you're a math major, or have an unnatural obsession with parenthesis) or Perl (under any circumstances other than text file processing...or writing poetry) is not your friend.

Link to comment
Share on other sites

Link to post
Share on other sites

47 minutes ago, Yamoto42 said:

Anyone who recommends starting out with LISP (...) or Perl (...) is not your friend.

We get it, you don't speak Lisp nor Perl. Now please don't confuse the OP further.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

If you want to just start pumping out code without too much of a hassle, Python or JavaScript (either by mucking around in the browser console or installing something like Node.JS) will let you do that. Ruby as well, but I'm hesitant to recommend Ruby.

 

However going this route doesn't teach you the other points of software development, like compiling code or "proper" debugging. For that you should get an IDE or some other tools to help. While some people may balk at it, because "lol microsoft", Visual Studio Code is probably the easier IDE to dive into. Though if you want to really learn how a computer works, I would suggest a microcontroller kit like an Arduino or a Cortex M4 board.

 

Either way though, it doesn't matter what language you learn. All that matters is you learn the fundamentals of programming. If you learn that, learning another language is fairly easy.

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, Dat Guy said:

Start with C/C++, Lisp or Perl.

Do not start with Python or Javascript.

Do you have any reasons for this? javascript is great for websites and pythonis just good for data analysis and web scraping. There are some great tools wrote in python such as blender.

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

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, vorticalbox said:

javascript is great for websites

 

Javascript and CSS are the only dynamic languages which are broadly accepted by major web browsers. That does not mean that it is an especially great language to start with.

 

Just now, vorticalbox said:

and pythonis just good for data analysis

 

R is just good for data analysis.

 

Just now, vorticalbox said:

and web scraping.

 

Perl is great for web scraping and it has a less horrible syntax. Also, no "Python 2 vs. Python 3" war.

 

Just now, vorticalbox said:

There are some great tools wrote in python such as blender.

 

There are some great tools written in virtually any available language.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Dat Guy said:

 

Javascript and CSS are the only dynamic languages which are broadly accepted by major web browsers. That does not mean that it is an especially great language to start with.

 

 

R is just good for data analysis.

 

 

Perl is great for web scraping and it has a less horrible syntax. Also, no "Python 2 vs. Python 3" war.

 

 

There are some great tools written in virtually any available language.

I'll grant you that, I like python easy to use though I mostly use it to build a proto-type.

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

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, vorticalbox said:

I mostly use it to build a proto-type.

 

... before you implement it in a real language.

 

Guess why? :D 

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

13 minutes ago, Dat Guy said:

 

... before you implement it in a real language.

 

Guess why? :D 

xD since moving to ubuntu I use python much more, normally I use python for testing functions that I then move to php, javascript etc. I do like my some python though.

 

16 minutes ago, vorticalbox said:

Also, no "Python 2 vs. Python 3" war.

This annoying the internet is full of "i'll move to python 3 when everyone supports" while also NOT supporting it....

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

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, vorticalbox said:

xD since moving to ubuntu I use python much more, normally I use python for testing functions that I then move to php, javascript etc. I do like my some python though.

For JavaScript, why not just implement it in JavaScript itself if you're prototyping a function or something? Every modern web browser at least has a JavaScript console you can dork around with.

 

The one thing I find potential use for Python is ease of cross platform deployment for some tasks. A script I wrote in Windows, assuming I don't poke at the system calls too much, can probably drop in a Linux box and run as-is. No need to fiddle around with a compiler or whatnot. Sometimes I don't really care about speed or whatever. I just care that I have a tool that works. If speed is a requirement, then sure, I'll reconsider my options. But for me, there are times that just having something that works now is better than having something that works "better". Lest we have this problem:

 

automation.png

Link to comment
Share on other sites

Link to post
Share on other sites

Thank you all for Replying,

 

These are the ones that appeared frequently from my perspective

 

Python

JavaScript/Java (idk are they different?)

C++/C# (these 2 are also quite different im assuming)

English

 

Narrowing it down slowly.

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, Whosonicus said:

Thank you all for Replying,

 

These are the ones that appeared frequently from my perspective

 

Python

JavaScript/Java (idk are they different?)

C++/C# (these 2 are also quite different im assuming)

English

 

Narrowing it down slowly.

JavaScript and Java seem to be related in name only. JavaScript seems to be more Python like but I don't actually know it yet so I can't really comment too much on it.

 

Learning C++ as a first language will be annoying since there's basically no way you won't end up having to learn CMake or at the very least Makefiles. Also depending on the OS you're using and the IDE or text editor you chose this will be more or less of a problem. While I really like CLion for C/C++ stuff it requires a pretty decent understanding of CMake sooner or later. Also CLion costs money if you can't get a student license.

 

C# is similar to Java but you are basically forced to use Visual Studio (which I don't really like that much) to compile it. Basically there doesn't seem to be a nice console method for compiling C# code.

 

Java is probably the most object oriented language in your selection. Which isn't exactly an easy concept for many people so I suggest learning it after you actually know how to code rather than diving into an object oriented language near the start. I mean technically you could just have a ton of methods in the main Java class but you wouldn't be able to just make another file with a couple of additional methods without being aware of object oriented practices. Also you'll have to compile the code before running it but Java seems to be rather painless to compile. At least when using Intellij which is a fantastic IDE (I basically just love anything JetBrains makes). I'm not too sure how compiling through the console works with Java but I think you just need to compile all the files and then run the file that has the main function in it. I don't think you need to link the files into a single file like with C/C++.

 

If you opt for learning Java I suggest using an IDE even though I suggest beginners just use a text editor like Sublime, Notepad++, Atom, Vim, Emacs, etc. since IDEs will do stuff and have features that might be more confusing than helpful for a beginner. Once you know how stuff works having IDE autocompletion and debugging is amazing. Also you can get plugins/packages for Sublime which can mimic some much needed IDE features such good autocompletion.

 

As mentioned previously I think Python is the best for beginners. It compiles on runtime so you don't have to worry about compiling it and then running the actual program. You just run the main python file and it just works (assuming you have python installed but that's the same for all the other languages, you need a compiler just here it runs the program right after compiling). You can have as many files as you want without needing to learn anything about object oriented programming. Although you will need to use functions (functions are basically methods that aren't in a class). And as long as you're not trying to be PEP8 compliant then you can easily just write everything in a basic text editor. Although from what I heard PyCharm is a pretty good IDE for Python and it's made by JetBrains

 

Anyway hopefully this is helpful.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Whosonicus said:

Thank you all for Replying,

 

These are the ones that appeared frequently from my perspective

 

Python

JavaScript/Java (idk are they different?)

C++/C# (these 2 are also quite different im assuming)

English

 

Narrowing it down slowly.

Javascript is a web-based language meaning it is used in client-side code of websites. Java is a "real" programming language comparable with c++/c# and can be used for virtually everything, including web-applets. They are not related in any way, only through the name.

 

C# is basically Microsofts take on Java. Both are very similar syntax-wise. C# is great for UI based applications and games etc.

 

C++ is a very powerful, more low-level programming language. It'll be a bit harder to get used to than other languages, like java or python but IMO worth the effort.

 

Python is a high-level programming language using very simple syntax meaning it will be easy to learn. (IMO not the best to start with but definitely easy, if you want it easy I personally would recommend Ruby). Python can be used for many things. UI-based applications, server-side language for websites etc.

My Rig: AMD Ryzen 5800x3D | Scythe Fuma 2 | RX6600XT Red Devil | B550M Steel Legend | Fury Renegade 32GB 3600MTs | 980 Pro Gen4 - RAID0 - Kingston A400 480GB x2 RAID1 - Seagate Barracuda 1TB x2 | Fractal Design Integra M 650W | InWin 103 | Mic. - SM57 | Headphones - Sony MDR-1A | Keyboard - Roccat Vulcan 100 AIMO | Mouse - Steelseries Rival 310 | Monitor - Dell S3422DWG

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

×