Jump to content

What programming languages should i jump into

Go to solution Solved by Enderman,
Just now, RickyD96 said:

alright thanks for your help my dude  ill get to learning everything i can on that one post, you know of anything that i should focus on in the future once i get a feel for python?

in terms of languages ?

 

I know C, C++, and java.

I think C and C++ are almost identical, C++ is basically just C but with a lot more functionality.

You could learn C and then move into C++ to learn all the additional stuff.

 

Java is kinda different, everything is object oriented, which is good if you want to get a job involving programming.

Depends what kind of programs you want to write tbh, you can't go wrong picking either C/C++ or java.

Once you're good at programming switching languages isn't too difficult.

I'm looking to Jump into programming, i want to learn several languages if possible over time. I know of c++ C sharp java python but some places say that you should stick to one language, but some places ask for experience in several... help please.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Python is great for beginning programming.

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

*googles for 30 seconds* so ive got notepad ++ on my list along with sublime text I think sublime text is pretty... @Enderman you got a fav program to use ?

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, RickyD96 said:

*googles for 30 seconds* so ive got notepad ++ on my list along with sublime text I think sublime text is pretty... @Enderman you got a fav program to use ?

I use sublime text 3 :)

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Enderman said:

I use sublime text 3 :)

alright thanks for your help my dude  ill get to learning everything i can on that one post, you know of anything that i should focus on in the future once i get a feel for python?

in terms of languages ?

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, RickyD96 said:

alright thanks for your help my dude  ill get to learning everything i can on that one post, you know of anything that i should focus on in the future once i get a feel for python?

in terms of languages ?

 

I know C, C++, and java.

I think C and C++ are almost identical, C++ is basically just C but with a lot more functionality.

You could learn C and then move into C++ to learn all the additional stuff.

 

Java is kinda different, everything is object oriented, which is good if you want to get a job involving programming.

Depends what kind of programs you want to write tbh, you can't go wrong picking either C/C++ or java.

Once you're good at programming switching languages isn't too difficult.

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Enderman said:

I know C, C++, and java.

I think C and C++ are almost identical, C++ is basically just C but with a lot more functionality.

You could learn C and then move into C++ to learn all the additional stuff.

 

Java is kinda different, everything is object oriented, which is good if you want to get a job involving programming.

Depends what kind of programs you want to write tbh, you can't go wrong picking either C/C++ or java.

Once you're good at programming switching languages isn't too difficult.

Awesome. Seems like ill have my hands full for some time. Thanks a lot for your time man. hope to come back with at least one "meh level program" hahahaha

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, RickyD96 said:

I'm looking to Jump into programming, i want to learn several languages if possible over time.

 

Good idea.

 

My vote goes to C as well. C++ might spoil you though. C++17 varies quite a lot from C11.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

I see that a lot of people are talking about C and C++, but if your goal is to just get familiar with programming and run applications that work or just to demonstrate and algorithm or concept, I'd recommend Java. Java is a hundred times better than C++ and C if you want to spend your time learning instead of debugging and scratching your head, and even though C++ is one of the most powerful mainstream languages, it's very often taught last among the more popular programming languages in colleges and universities simply due to it's relative complexity and tedius nature when compared to Java. 

 

Learning Java first, and then C++ will guarantee that you've at least played around with the most widespread programming languages. You can go ahead and start out with C++, but expect some blood and sweat if you do so.

Link to comment
Share on other sites

Link to post
Share on other sites

On ‎14‎/‎07‎/‎2017 at 5:40 AM, RickyD96 said:

some places say that you should stick to one language

this is incorrect, languages are like tools you have to use the right one for the job, you wouldn't use java of you wanted to build a website with a database. 

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

Link to comment
Share on other sites

Link to post
Share on other sites

On 7/13/2017 at 9:40 PM, RickyD96 said:

I'm looking to Jump into programming, i want to learn several languages if possible over time. I know of c++ C sharp java python but some places say that you should stick to one language, but some places ask for experience in several... help please.

 

On one hand, most companies have migrated to what you could call "industry standard" languages like C, C++, C#, Java, etc. You should give a language more attention based on the company you want to work for.

 

However, you should learn as many languages as you're willing to try. The neat thing about it is for the most part, a lot of languages share similar characteristics. Once you know one language, learning another is mostly about figuring out its syntax and quirks. Of course, you should also make sure the language you want to learn is applicable. Like don't learn bash scripting thinking you can make a GUI or game out of it (well, you probably can, but you probably shouldn't).

 

3 hours ago, edward30 said:

The problem with Java is that it teaches you very little about memory. I suggest C because it will teach you things that Java will not.

Likewise, Java will teach you things that C cannot.

 

The only time I've found you really need to know about memory usage and management is in embedded systems or when you don't have some OS or framework to manage memory for you. And even then, I've made it a habit to not consider malloc and delete unless it's absolutely necessary. Managing memory on your own can be an exercise in frustration if you start leaking and your application grows large.

 

But otherwise, if you're writing a desktop application, unless you have some strict memory usage requirement, the general development mindset is go hog wild. Use an int even though a char would do. Make an 256 entry array even if you only need about 100.

 

And in my experience, after touching code of a wide variety of C applications from embedded software to application software, either something's doing the memory management for you or you're statically allocating things to make it easier on yourself.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, edward30 said:

You're right that a lot of people don't care about efficiency; the thought is that programmer time is more important than computer resources. Sometimes efficiency matters; it certainly does in my work.

 

I handle my own memory management. I've had bugs relating to memory allocation... I'd obviously be lying if I said I hadn't. But never anything that was overly difficult to find and repair. It comes down to discipline -- of course, if you're in a team, and you're not confident in every member of that team, manual memory management might be best avoided.

What you should spend your time worrying about depends on what your requirements are. If you're targeting and embedded systems, sure, memory consumption is a big deal. But if you're doing work on a desktop application, who cares? Unless you're working with huge datasets, your time is better spent worrying about other design aspects. 

 

But in regards to memory management itself, it's still easy to screw up and if someone else built a system to do it for you, go with that.

 

EDIT: Also having worked with development for customers and for random people as a hobby, my philosophy is more geared towards get something "good enough" out that meets most of the customer's needs as quickly as I can . The pencil needs to be put down at some point and I can't spend time worrying about every little issue.

 

So yes, I may ship code that could be better, but I'll worry about improving it later when people are wanting it now.

Link to comment
Share on other sites

Link to post
Share on other sites

Also to add to my post. That isn't to mean I ship really sloppy code. But I don't spend too much time worrying about little improvements I can make. 

 

And then there are failure cases I can't predict that a better solution would've worked or didn't consider because of again, time constraints

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, edward30 said:

For me it has become second nature, just part of my practice to think about efficiency and my work in a certain way. I do work a lot on desktop applications, but most of that work involves real time constraints and lots of data. It's important for me to know how little details are implemented, so a language that has the programmer manage memory, and implement container classes and algorithms allows me to tailor much tighter fitting code.

Malloc works for you in that case? Because I don't think malloc is deterministic.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, edward30 said:

Malloc works, and there are plenty of strategies for memory management and optimization in C... but it starts with malloc (or calloc).

See I avoid malloc like the plague unless there is something that I absolutely cannot determine ahead of time. And I've yet to encounter something where I needed it.

Link to comment
Share on other sites

Link to post
Share on other sites

Start with Python.  While it doesn't have much real world application, it's good for learning.  After that go to C.  It's way more versatile and can be used for jobs.

Make sure to quote or tag me (@JoostinOnline) or I won't see your response!

PSU Tier List  |  The Real Reason Delidding Improves Temperatures"2K" does not mean 2560×1440 

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, edward30 said:

The problem with Java is that it teaches you very little about memory. I suggest C because it will teach you things that Java will not.

python doesn't teach you anything about memory but when i need to do some web scraping there is nothing else i would use. 

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

Link to comment
Share on other sites

Link to post
Share on other sites

I suggest starting with Python and then learning C# or Java followed by C/C++. That's probably the best way to become broadly skilled in the industry.

 

Gonna repost the resource guide I made for a friend cause I think it's pretty good.

 

ResourceGuide.pdf

Link to comment
Share on other sites

Link to post
Share on other sites

On ‎2017‎.‎07‎.‎15‎. at 0:43 PM, vorticalbox said:

this is incorrect, languages are like tools you have to use the right one for the job, you wouldn't use java of you wanted to build a website with a database. 

Ever heard of J2EE and Java Web-Applets? (:
 

but yeah, I'd avoid Java like plague... just go for C# and .NET

 

CPU: Intel i7 5820K @ 4.20 GHz | MotherboardMSI X99S SLI PLUS | RAM: Corsair LPX 16GB DDR4 @ 2666MHz | GPU: Sapphire R9 Fury (x2 CrossFire)
Storage: Samsung 950Pro 512GB // OCZ Vector150 240GB // Seagate 1TB | PSU: Seasonic 1050 Snow Silent | Case: NZXT H440 | Cooling: Nepton 240M
FireStrike // Extreme // Ultra // 8K // 16K

 

Link to comment
Share on other sites

Link to post
Share on other sites

59 minutes ago, DXMember said:

Ever heard of J2EE and Java Web-Applets? (:
 

but yeah, I'd avoid Java like plague... just go for C# and .NET

 

Heard of yes but why would anyone choose that over anything else? C# is good you can do basically everything with it. Websites, web services, desktop, cmd, android, ios and universal. Of course its not 100% the same code but that is what Microsoft is pushing for. 

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

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, vorticalbox said:

Heard of yes but why would anyone choose that over anything else? C# is good you can do basically everything with it. Websites, web services, desktop, cmd, android, ios and universal. Of course its not 100% the same code but that is what Microsoft is pushing for. 

It was my understanding when I read the comment that you imply that it's impossible or highly unfeasible to create websites using Java,

and for that - I apologize

CPU: Intel i7 5820K @ 4.20 GHz | MotherboardMSI X99S SLI PLUS | RAM: Corsair LPX 16GB DDR4 @ 2666MHz | GPU: Sapphire R9 Fury (x2 CrossFire)
Storage: Samsung 950Pro 512GB // OCZ Vector150 240GB // Seagate 1TB | PSU: Seasonic 1050 Snow Silent | Case: NZXT H440 | Cooling: Nepton 240M
FireStrike // Extreme // Ultra // 8K // 16K

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, DXMember said:

It was my understanding when I read the comment that you imply that it's impossible or highly unfeasible to create websites using Java,

and for that - I apologize

no I meant c# well asp.net. TBH you probably could make a website in java.

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

Link to comment
Share on other sites

Link to post
Share on other sites

I would say that you should learn C as one of your first languages.

it will teach you a lot more about how computers and memory work, and it can do basically everything with the right knowledge and tools.

I know python, and I would say that it's syntax is too unique for it to be your first language, one of the advantages of python is it's english like lines of code. And getting used to that would make moving to other languages difficult.

 

What I mean is: 

Checking if a character is in a string:

python: 

character = 'N'
if character in string:
	print("The character is in the string!")
else:
	print("The character is not in the string!")

C:

char character = 'N';
char string[] = "No Jason, that would kill someone!!!Q@#@$R";
int i = 0;
for(i=0; i<strlen(string); i++)
{
	if (string[i] == character)
    {
    	printf("Character in string!");
    }
}

Do you see what I mean? I feel like python is too simple to be a first language.

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

×