Jump to content

best programming language to learn?

warzkaz

C++, if not C# or maybe Java.

 

For starters though, I'd suggest lua/python or something along those lines.

Intel i5-6600k (Cooled by a 212 evo) - Asus Z170-A - Asus Dual OC GTX 1060 - NZXT S340 - WD 1TB (Getting SSD this month, hopefully) - 8GB DDR4-2400

LG G4 - Asus Zenwatch 2

 

Link to comment
Share on other sites

Link to post
Share on other sites

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

 

O K

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

There is no "best" programming language as they all have their own pros and cons. A prime example is writing software like what's in my signature would be a waste of time in C++ messing with GUI frameworks etc. The best language is one that's easy for you to understand and that has no limitations to what you're looking to do with it.

Link to comment
Share on other sites

Link to post
Share on other sites

I'd say java. Contrary to popular belief it really isn't all that slow. And better yet, once your software is out there in the world it will always work independent of the hardware and OS. And provided the user keeps the java virtual machine reasonably up to date it will always support the latest instruction sets of all the hardware, plus it gets HSA support soon.

Everyone who bashes on Java doesn't know what he's talking about.

I cannot be held responsible for any bad advice given.

I've no idea why the world is afraid of 3D-printed guns when clearly 3D-printed crossbows would be more practical for now.

My rig: The StealthRay. Plans for a newer, better version of its mufflers are already being made.

Link to comment
Share on other sites

Link to post
Share on other sites

Depends what you want to do i know C++, Java, little bit of SQL Database and C# but my prefered would be c++ due to the fact that i could just use it for random programs. But good starting would be java or C++

Link to comment
Share on other sites

Link to post
Share on other sites

Programming is a means to an end, although a distressingly large number of people seem to want to learn "how to program" just for the sake of it.

 

Computer science is just problem solving and programing provides a means to realize computational solutions.

 

With that in mind, learn an easy language first. Learning additional languages will become increasingly easy as the same principles apply.

Link to comment
Share on other sites

Link to post
Share on other sites

I would recommend c# or java, both easy to get in to.  C++ is great, but confusing for new programmers.

Desktop 1: CPU: Intel Core i7 4770  GPU: Nvidia Geforce GTX 960 Ram: Crucial DDR3 2x8GB 1600 MHz  Storage: Samsung 850 Evo 250GB and Segate 1TB Hard drive  Desktop 2: CPU: Intel Pentium G3258  GPU: AMD R7 250  Ram: Corsair Vengance DRR3 2x8GB 1600 MHz  Mobo: MSI H81M-E33  PSU: Corsair CX430M  Case: Rosewill MicroAtx Mini Tower

Link to comment
Share on other sites

Link to post
Share on other sites

Python is an easy programming language to start with.

 

If you're looking for the best language to program in, that would probably be C++. It's a general purpose object oriented low level programming language, but it's not gonna be easy for a beginner.

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

In school we learned to program in Java with OOP. I had effectively 0 programming experience. Java didn't make much sense until I took C. To me, C is the 'purest' of the high level languages that I have been exposed to. It has 0 OOP and if you read up on how CPUs/computer architecture in general works, you realize C is very much an English wrapper for the actual assembly instructions that get executed. Once you understand those fundamentals of algorithmic time costs, branches, pointers/memory allocations, you can move 'up' to C++ or Java because you'll have some idea of what is being done under the covers for you.

Link to comment
Share on other sites

Link to post
Share on other sites

I'd say learn something basic like Python. I've seem far too many people be like "Lets learn C++ cause [insert industry here] uses it" and burn out on it. C++ and C get complicated fast and not needing to worry bout memory is a huge plus of java or python for learners.

 

If you really want to learn lower level languages, learn C and then C++. As Linus Torvalds has said many times, too many people write bad C++ code. C forces you to do things it's way, it kinda forces good habits. I have a mate who is great a programming but lacks knowledge of fundamentals like algorithmic cost so learning this is a major advantage. 

 

I'd point out that C++ is pseudo-high level. While it seems like it does things for you, and it does, it has a tendency to not do what people expect it to, especially when coming from Java. I've seen people load large files onto stack memory and wonder why they crashed cause that wouldn't happen in Java. C++ has no memory handler like java so if you don't free memory, it will not get cleaned.

 

What program language to learn ultimate comes down to use case, but learn python is great. It's easy and it teaches you the basics of how programming works. It's what I learned first and quickly I ended up programming in C and C++ then CUDA and assembly.

 

And once you are using C or C++, there really isn't much you can't do.

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.

 

Take this advice. Though I'm learning Python atm along with Linux for pen testing stuffs since I'm into security.

 

I started with C++ and it was quite a pain since I'm the type that don't want to skip stuffs if I don't understand it but I was introduced with a lot of low-level topics so that slowed me a bit but when I started learning Python, things were easier lol. I'm taking ComSci atm and my university started with C, lots of students didn't survive that semester lol. I'm in 4th year college now, good thing I advanced study C++ which made advanced topics in C less stressful to me.

 

If you still don't know what to do yet specifically but want to learn a programming language, go with Python. If you don't want to learn alone, go find the subject Introduction to Interactive Programming in Python by Rice University in Coursera. Fun course, you make games in the start of the class while learning the important concepts compared to plain text-based programs.

| CPU: Ryzen 5 3600 | MoBo: MSI B450 Tomahawk Max | RAM: T-Force Delta RGB (2x8) 16GB 3200MHz (Black) | GPU: Gigabyte GTX 1660 Ti OC | Case: NZXT H500 (Black) | HDD: WD Black 2TB + Seagate Barracuda 4TB | SSD: Crucial MX500 2TB | PSU: Seasonic GX-550 | Monitor: 3x Asus VC239H |

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Take this advice. Though I'm learning Python atm along with Linux for pen testing stuffs since I'm into security.

 

I started with C++ and it was quite a pain since I'm the type that don't want to skip stuffs if I don't understand it but I was introduced with a lot of low-level topics so that slowed me a bit but when I started learning Python, things were easier lol. I'm taking ComSci atm and my university started with C, lots of students didn't survive that semester lol. I'm in 4th year college now, good thing I advanced study C++ which made advanced topics in C less stressful to me.

 

If you still don't know what to do yet specifically but want to learn a programming language, go with Python. If you don't want to learn alone, go find the subject Introduction to Interactive Programming in Python by Rice University in Coursera. Fun course, you make games in the start of the class while learning the important concepts compared to plain text-based programs.

Yeah, I'm doing Java at uni at the moment and am hating it, It does way to much for me. The drop rate is pretty large in Comp Sci, my assembly paper has already seen like 1/3rd of the class leave (We are 5 weeks in and apparently handling interrupts killed people...).

 

I talked to my mate about this thread and his advice would be learn a "handholdy" language first unless you know you want to program and are set on doing this. Learning C++ or C makes uni pretty easy to deal with as you'll learn a lot of the concepts they teach just by using the language.

 

Also Python is great. I see too much hate on it, yes it may be slow and have a lot of overhead but it's easy to write in and is a great scripting language.

 

--EDIT--

My colleague is using python with CUDA C... because extreme parallel python

Link to comment
Share on other sites

Link to post
Share on other sites

C++ and Java are both great languages to learn because they are very similar to other languages and in my experience, once I learned Java I understood programming a lot more, and it has really helped me study for the AP Computer Science exam.

CPU: Intel i5 4460 | MOBO: ASRock H97 Anniversary | RAM: Crucial Ballistix Sport XT 8GB | Storage: Kingston V300 120GB SSD and WD Blue 1TB | GPU: Sapphire Radeon R9 270 | Case: Thermaltake Versa H21 | PSU: EVGA 600B 600W

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.     

 

Objective-C <3 Too bad it's on a highway to deprecation.

Link to comment
Share on other sites

Link to post
Share on other sites

Assembly seems easy.

I personally thought it was as easy to learn as C to learn (apart from every assembler having different dumb quirks)...

 

for some reason, a lot of people in my class don't seem to think so.

 

 

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.

The only thing that's outdated in C++ is the compiler's dependency on code order and the garbage collector it uses for shared pointers (afaik).
 
Other than those things, I can't think of anything that's really better in C# and Java other than those things.
Link to comment
Share on other sites

Link to post
Share on other sites

Yeah, I'm doing Java at uni at the moment and am hating it, It does way to much for me. The drop rate is pretty large in Comp Sci, my assembly paper has already seen like 1/3rd of the class leave (We are 5 weeks in and apparently handling interrupts killed people...).

 

I talked to my mate about this thread and his advice would be learn a "handholdy" language first unless you know you want to program and are set on doing this. Learning C++ or C makes uni pretty easy to deal with as you'll learn a lot of the concepts they teach just by using the language.

 

Also Python is great. I see too much hate on it, yes it may be slow and have a lot of overhead but it's easy to write in and is a great scripting language.

 

--EDIT--

My colleague is using python with CUDA C... because extreme parallel python

 

Oh yes, someone who agrees with me on hating Java. And yes, I also hate its JVM for reasons.

 

Your mate is right about the "handholdy" language. Python is pretty much your best bet on that one.

 

I had no one to guide me when I first started learning programming and I jumped on to the C++ bandwagon back in my high school years since it was on par with Java that time (2009 i think) but check Tiobe (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) Java is second this year but I still hate the language lol. I had no regrets learning C++ though since I had no idea it would be useful in college (I'm pointing on those underlying low-level hard to absorb concepts). Made me remember the exercise in the book I was using to learn C++. The topic was about pointers and the exercise was to make a 3D array using pointer of pointers while being cautious of the values and its behavior if I'm to change the values of this and that. Took me months to absorb it along w/ pointer arithmetic since the book suggested not to access values by index. One heck of a topic.

Meanwhile, Java don't have pointers xD

| CPU: Ryzen 5 3600 | MoBo: MSI B450 Tomahawk Max | RAM: T-Force Delta RGB (2x8) 16GB 3200MHz (Black) | GPU: Gigabyte GTX 1660 Ti OC | Case: NZXT H500 (Black) | HDD: WD Black 2TB + Seagate Barracuda 4TB | SSD: Crucial MX500 2TB | PSU: Seasonic GX-550 | Monitor: 3x Asus VC239H |

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Learncpp.com

Cplusplus.com

Thenewboston

Lynda.com (you mayyyyyyy be are to get jet free on kickass torents)

It is going to be challenging but every language after is easy.

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

×