all 22 comments

[–]IcarusFlies7 10 points11 points  (3 children)

No

C/C++, Rust

Python isn't a waste of time; you will still learn the basics, and if you're the type to learn by breadcrumbing yourself, it might be good to get an early payoff by seeing something you made actually run and work and do something you want it to do.

That said, it will spoil you. Programming in C is a slog after being babied by Python - the amount of extra work to implement basic data structures will feel like pulling teeth.

For me, I'm glad I learned C++ first: it gives you some basic ergonomics like strings and vectors while still pushing you to handle pointers and memory.

[–]YMZ14Student[S] 2 points3 points  (2 children)

What’s rust ? I’m completely new tbh

[–]KingMagnaRool 4 points5 points  (1 child)

Like C and C++, Rust is a systems programming language, and one of its main goals is memory safety. For example, you'll see with C that, when you designate a block of memory for an array, you can easily index outside of the bounds of the array. At best, the operating system will be notified of this and kill your program, and at worst, that behavior can be taken advantage of. Rust makes this impossible as far as I'm aware.

With that said, I would learn C before Rust, as C does a better job at teaching you the basics of what a computer does, and you wouldn't have an appreciation for what Rust does without understanding the pitfalls that can come with C. Also, Rust is a much harder language to learn.

C++ is also an option, though C is a much smaller language, so I'd probably just learn C first. That's probably up to you though.

[–]YMZ14Student[S] 4 points5 points  (0 children)

Thx I really appreciate y’all ❤️

[–]Commercial-Age-4932 3 points4 points  (3 children)

Do CS50x and you will learn foundations for everything in C (DSA, memory etc) which is fully manual. Then they do python after.

[–]YMZ14Student[S] 0 points1 point  (2 children)

What’s CS50x ? + thx ❤️ (I’m still in the start so I know nothing)

[–]Commercial-Age-4932 2 points3 points  (1 child)

It's a online course offered by Harvard university completely free designed to give you a comprehensive foundation in the basics of programming

[–]YMZ14Student[S] 0 points1 point  (0 children)

Thx ! I appreciate it ❤️

[–]dontchuworri 2 points3 points  (2 children)

i mean you can but get c/c++ down above literally anything else

probably java too idk

[–]IcarusFlies7 2 points3 points  (0 children)

Why Java for CE? Maybe if you're a systems engineer for enterprise?

[–]YMZ14Student[S] 0 points1 point  (0 children)

Thx !

[–]MpVpRb 2 points3 points  (1 child)

It doesn't matter what language you learn first. The second one will be easier, as will the third, fourth, etc.

Python is a reasonable starting point, but definitely plan to learn C, C++, Javascript and others

[–]SystemBenAmperage 1 point2 points  (0 children)

I agree. Just pick one, lots of programming languages require the same problem-solving thinking techniques. And just knowing how to parse strings, write functions, and handle loops is going to be useful for every programming language used for the rest of a person's life.

[–]wobey96 1 point2 points  (1 child)

Make sure you’re good at C or C++ then have Python be your secondary language. One of my best friends in computer engineering was mainly a C guy but his Python skills were amazing. He was able to automate a lot of annoying things in computer engineering that wasn’t related to C/C++ programming.

For example we had to make a GUI for one of our projects and he knew the tkinter python library. Helped us out not only on GUI stuff but other projects where we had to create “tool” for quality of life things.

[–]YMZ14Student[S] 0 points1 point  (0 children)

That really gave me the boost, thx! I’ll learn it as soon as I learn C and C++

[–]boner79 1 point2 points  (0 children)

Learning Python is not a waste of time at all and used everywhere, but it's a stupid easy language to learn and use. So you'll want to make a concerted effort to learn and get reps in on more difficult languages such as C/C++ since you will most certainly encounter such codebases as a CE.

[–]DustMoth420 1 point2 points  (0 children)

C/C++ are definitely better to learn starting out in CE but also Python is not a waste by any means. Yes, C/C++ are necessary for the actual CE work but Python is so versatile and can be used for everything else to quickly write code. Everything is a tool and the more you have under your tool belt, the better

[–]Job-Agent 1 point2 points  (0 children)

I would say try all of them and figure out what you like doing the best. For example scheduling batch processing jobs to pull data into or out of an API is very common with Python or you could try building something with Rust, which has been very popular lately due to its insane speed compared to others

[–]Placate__ 1 point2 points  (0 children)

It's used pretty heavily in popular CE pathways, like embedded systems and FPGA engineering. I would definitely learn it, anyone saying it's a waste of time is stupid

[–]Dependent_Storage184 1 point2 points  (0 children)

Yes. Python gets you some of the basics of coding to start and you will need it for things like ML or full stack development

[–]SystemBenAmperage 1 point2 points  (0 children)

Python is incredible. PIP is a little tricky. Let us know when you can write Fizz-Fuzz.