Jump to content

New programmer, language question

Hi P
On 2/26/2019 at 9:45 PM, wasab said:

Python→Java→C→C++→C# 

 

I have a question regarding this, if C is lower than C++, shouldn't C be learned after C++ and not the other way around?

 

(I'm honestly curious)

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, Dat Guy said:

C is probably the most common language today, there is nothing that could not be solved by its giant community.

stackoverflow 2018 results poll, 11th place

 

image.png.d234b86b6abdc0bb3d3cd077cb867fc5.png

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, Hi P said:

 

I have a question regarding this, if C is lower than C++, shouldn't C be learned after C++ and not the other way around?

 

(I'm honestly curious)

Actually the order doesn't matter depending on your mind set. Some people prefer to learn the base while other abstract.

 

If you want a toaster do you prefer buying it in part, making it

or

you prefer buying a full toaster and later on learn about the intricate part that make it a toaster.

 

There is no good or bad order

Link to comment
Share on other sites

Link to post
Share on other sites

You are aware that StackOverflow poll results are - regardless of the question - never even remotely identical to what the real world does, right?

 

Honestly, ask in a Windows forum about web servers and most people will praise the IIS. Now what?

By the way: I bet their JavaScript engines are written in C.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Dat Guy said:

I bet their JavaScript engines are written in C.

Windows is moving away from their engine and are going to be using V8 moving forward, which is C++

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Dat Guy said:

You are aware that StackOverflow poll results are - regardless of the question - never even remotely identical to what the real world does, right?

 

Honestly, ask in a Windows forum about web servers and most people will praise the IIS. Now what?

Name me any source more reliable than the largest developer community on the planet made by developer for developer.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Dat Guy said:

By the way: I bet their JavaScript engines are written in C.

Google's Chrome V8 engine is written in C++ mainly.

Use the quote function when answering! Mark people directly if you want an answer from them!

Link to comment
Share on other sites

Link to post
Share on other sites

That's fine, because Windows is also written in not-JavaScript. Nor are any web browsers.

Guess why.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

42 minutes ago, Hi P said:

 

I have a question regarding this, if C is lower than C++, shouldn't C be learned after C++ and not the other way around?

 

(I'm honestly curious)

Well, C++ is quite difficult and half of its sythx is literally legacy C. I learned C++ first and got hopelessly confused with extern, printf, and auto keywords which are carry over from C. 

 

So I suggest learn C first so it doesn't overwhelm you with all its C stuffs. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Dat Guy said:

That's fine, because Windows is also written in not-JavaScript. Nor are any web browsers.

This is entirely not the point.

Use the quote function when answering! Mark people directly if you want an answer from them!

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Franck said:

Name me any source more reliable than the largest developer community on the planet made by developer for developer.

There is no reliable source about what the world does.

 

Honestly, most large companies still use COBOL. Why isn't it in the polls? Oh, right...

Why is "but the StackOverflow people use language xyz" so important for you?

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Dat Guy said:

There is no reliable source about what the world does.

 

Honestly, most large companies still use COBOL. Why isn't it in the polls? Oh, right...

Why is "but the StackOverflow people use language xyz" so important for you?

It is reliable, it's statistics. It's thousands times more reliable than your personal opinion of the world.

 

That is the real life case of over hundred of thousand of real people working for big and small companies.

 

And BTW the stats also match the job posting stats per languages that came out later

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Dat Guy said:

There is no reliable source about what the world does.

 

Honestly, most large companies still use COBOL. Why isn't it in the polls? Oh, right...

Why is "but the StackOverflow people use language xyz" so important for you?

Come one guys. No need to fight over langauge because true programmers write in machine codes. All of you are really writting in fake codes. 

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Franck said:

It is reliable, it's statistics. It's thousands times more reliable than your personal opinion of the world.

"My personal opinion" is based on facts, not on statistics. You did not answer my question why COBOL isn't in the polls. Because no COBOL developer has participated? Ha, no - because StackOverflow has the wrong audience: Young web developers, mostly.

Again, ask in a Windows forum for web servers...

 

Even you use more C software than JavaScript software. Deal with it.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

I think this might be thread #165,672 which has devolved into language debate instead of actually helping OP with his/her question.

 

@Hi P, if you want to avoid webdevelopment, you don't really need to worry about javascript. Python is still a fine language to begin with, since the 1st language you learn doesn't dictate anything about your long term career, and it's an easy place to get a grasp of the fundamentals. 

 

Java/C++/C#/C are all totally fine languages to move to next. The fundamentals and concepts you learn are what really matter, and for most entry level software positions they won't care about your tech stack much. It definitely wouldn't hurt to learn the tech stack for the job you want, but you don't need to figure that out as step 1 of learning to write code.

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Dat Guy said:

You did not answer my question why COBOL isn't in the polls. Because no COBOL developer has participated?

Look all i am saying is C is not first used language anymore. I deal with it. 99% of job posting these days are Javascript or ASP.net and you cannot deny that. I have not seen job posting for Cobol in decades. If that's so popular according to you, i honestly never heard any of my subsidiaries working for a client that their dev team use cobol. I can't say anymore, it like trying to convince my wife that unicorns don't exist. She live in her world and won't accept the truth.

 

thank you have a nice day.

Link to comment
Share on other sites

Link to post
Share on other sites

Oh, geez. I'm out - and you're the first LTT user on my ignore list. Enough personal attacks for one evening.

 

Bye.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Hi P said:

I have a question regarding this, if C is lower than C++, shouldn't C be learned after C++ and not the other way around?

C and C++ are kind of equally low in one way of thinking about it.

If we think about what makes people call C a "low level language", it's essentially because you have to do your own memory management. You still do that in C++. C++ just also allows you to build objects. In fact, the original name for C++ was "C With Objects".

Of course, "Low level" and "High level" distinctions differ based on who you are talking to, and what you are talking about.

If we are talking about programming most microcontrollers, I would call C a high level language. If we are talking about building a GUI desktop app, I would call C a low level language.

In terms of what order you should learn them in, that's really up to you. I tried C++ first, but failed. Then I tried C and succeeded and went on to C++.
The reason: I like K&R's style of writing significantly more than I like Bjarne Stroustrups, so I was able to stick with it longer without getting frustrated or bored.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

I think that discussion before is more related to: Is C widely used and has active important projects?
Absolutely, most of the operating systems, together with C++, some really big and crucial applications, etc...
And
Do companies prefer you to know Java and/or other "consumer grade" programming script kiddie languages commonly used by code-monkeys because that is what the market is interested on? Like the usual "android/iOS programming" "web development" rather than C, even if is better and could lead significantly efficient projects but it's more like intended to be used by people that actually know about programming? (I mean, you could do everything with C and even better, it's just that people are only interested in give products that do what they do, even if badly)


Probably, and that may be the reason why stack overflow has more common "javascript" and the others in that graph languages, not just because is better, it just become more "used" or to be precise more scriptkiddie/codemonkeys friendly interested in working for "companies", probably the quality of their code isn't that even high and they need to continue to ask questions

Edited by Guest
Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Lukyp said:

Do companies prefer you to know Java and/or other "consumer grade" programming script kiddie languages commonly used by code-monkeys because that is what the market is interested on?

I'm very tempted to just ignore this for fear of starting a flame war, but I've learned that if the war goes hot I can just temporarily block the person until it goes cold again, so here goes:

Not all developers that use what you call "script kiddie languages" are poor developers. I'm not even sure that you're using the term "script kiddie" correctly either, so, for the sake of the less experienced developers here: A "script kiddie" is someone who makes copy pasta from other peoples code instead of solving their own problems. The term is closely related to "cargo cult programming".

 

To be clear, you shouldn't be a script kiddie. But, as you're learning, you're definitely going to be copying code examples from around the web. That's totally OK, because you're doing it not as a permanent solution to a problem in production code, but to learn how it works. The best way to do that is to read the code examples, and type them out yourself instead of just copy-pasting them into your code, then step through the program to gain a good understanding of it. You will be doing some form of that for your entire time in development: Every good developer regularly reads others code examples to learn new algorithms, patterns, or techniques.

On the poor developer angle: A good programmer is a good programmer, no matter what language they are currently writing in. Each language has it's strengths and weaknesses and is best suited for some things, and not good at others. The good developer knows this and picks the language best suited for the task at hand.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

17 minutes ago, straight_stewie said:

I'm very tempted to just ignore this for fear of starting a flame war, but I've learned that if the war goes hot I can just temporarily block the person until it goes cold again, so here goes:

Not all developers that use what you call "script kiddie languages" are poor developers. I'm not even sure that you're using the term "script kiddie" correctly either, so, for the sake of the less experienced developers here: A "script kiddie" is someone who makes copy pasta from other peoples code instead of solving their own problems. The term is closely related to "cargo cult programming".

 

To be clear, you shouldn't be a script kiddie. But, as you're learning, you're definitely going to be copying code examples from around the web. That's totally OK, because you're doing it not as a permanent solution to a problem in production code, but to learn how it works. The best way to do that is to read the code examples, and type them out yourself instead of just copy-pasting them into your code, then step through the program to gain a good understanding of it. You will be doing some form of that for your entire time in development: Every good developer regularly reads others code examples to learn new algorithms, patterns, or techniques.

On the poor developer angle: A good programmer is a good programmer, no matter what language they are currently writing in. Each language has it's strengths and weaknesses and is best suited for some things, and not good at others. The good developer knows this and picks the language best suited for the task at hand.

To clarify, I did not intend to start a war... I was just pointing out the fact that sadly this is what most of the programmers are today, I see that on companies, I see that on the google app store and even my Uni colleagues even if here you are told what to do correctly, and in stack overflow obviously, most of the time they will not even think a single time to really learn "programming languages" on what they really are, but rather this, just because they just want to "finish the job even if shitty, with the same programming language for everything, buggy, unoptimized and get paid"
And the new programmers will be clueless, I'm not blaming those, but they should know at least how an OS work and not learning from those people but rather start over by their self, read old books, know how we get into today languages, etc. Learning just how to code without knowing the difference between paradigms for example is pointless, but you will still get the work done, correct programming is not just about getting a working program, maybe I'm generalizing too much but I see that to happens too many times, and I feel sad when writing this.

Eventually in their future they will understand, but I'm not optimistic about that

A proficient programmer indeed can write all the languages correctly when some is needed rather than another and make an almost perfect work, they are just so rare
 

Edited by Guest
Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Lukyp said:

And the new programmers will be clueless, I'm not blaming those, but they should know at least how an OS work and not learning from those people but rather start over by their self, read old books, know how we get into today languages, etc. Learning just how to code without knowing the difference between paradigms for example is pointless

I agree, a bunch of new programmer are just clueless of what they do. Not necessary voluntary but mostly because of how the culture gives you nearly everything on a plate. @straight_stewie mentioned a good point, a lot of new devs resort in asking questions here and there and simply copy paste an "appropriate" (at best) solution in their code and they don't even understand it. The worst is that they think it's fine. It happen with every interns i ever had over the years and i have to keep telling them "if you don't know what your code does, don't use it."

 

Link to comment
Share on other sites

Link to post
Share on other sites

25 minutes ago, Franck said:

I agree, a bunch of new programmer are just clueless of what they do. Not necessary voluntary but mostly because of how the culture gives you nearly everything on a plate. @straight_stewie mentioned a good point, a lot of new devs resort in asking questions here and there and simply copy paste an "appropriate" (at best) solution in their code and they don't even understand it. The worst is that they think it's fine. It happen with every interns i ever had over the years and i have to keep telling them "if you don't know what your code does, don't use it."

Pretty much what I meant, I'm not even blaming universities btw, everyone can be a good programmer

There also are some people in mine who know how to actually program correctly, because we are being told how to do that, but they just won't, either because they are lazy and/or their companies do not care and they do not put passion into programming

For the record, I actually know good examples too, but it's sad that a lot of people do not distinguish them and are not even able to know how to distinguish them, another example is the classic "code length" thing, I suppose every one knows the reason why this exist, would some people be happy on more code or less code to do the same thing?

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Lukyp said:

Do companies prefer you to know Java and/or other "consumer grade" programming script kiddie languages commonly used by code-monkeys because that is what the market is interested on?

 

2 hours ago, Lukyp said:

people are only interested in give products that do what they do, even if badly

 

13 minutes ago, Lukyp said:

There also are some people in mine who know how to actually program correctly, but they just won't, either because they are lazy and/or their companies do not care and they do put passion into programming

 

I'm getting a lot of corporate-softeware cynicism. I think one of the most valuable things you can do as a developer has nothing to do with language: breeding culture. 

Some people are lucky to be at a job with a strong quality minded development culture, but even if you're not you can slowly bring positive change in that direction. A simple example would be helping the developers start using git if they don't have a good SCM in place, or getting people behind adding code reviews to the process of each task if they aren't already, etc.

 

There is a lot more that you can do to improve the quality of your co-workers code than you think, and doing so can have far more leverage than you writing quality code by yourself. If a company truly doesn't want to change, perhaps its time to find a place with better culture, but you'd be surprised at how much a bit of firm patience can be in introducing systemic changes. 

 

I've read this in the past and found it useful: https://www.amazon.com/Effective-Engineer-Engineering-Disproportionate-Meaningful/dp/0996128107
It's a bit "start-uppy" at times, and he likes to start chapters with anecdotal stuff about his past company experiences, but I still found a lot of good into in the book if you can get past that.

3 hours ago, Lukyp said:

Java and/or other "consumer grade" programming script kiddie languages commonly used by code-monkeys

 

Be careful with your wording here. the reason you almost reignited a language religion war in here is that you more or less called java developers code-monkeys. Also, as mentioned, I think you need to update your definition of script kiddie :P

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

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


×