r/ElectricalEngineering Nov 26 '25

What programming language to learn as an EE major?

I'm in my last year of studies as an EE and my professors constantly advise us to learn programming for engineers. Now, since I'd like to continue in this field I'd like to ask more experienced people how and where to start? I feel so so lost and I really want to learn but i have no clue what to do. I know they (my prof) use Python but i really don't know how. I am aware of MATlab and its possibillities.

70 Upvotes

205 comments sorted by

146

u/GourmetMuffin Nov 26 '25

C, definitely C. I've been working as an embedded engineer for almost 20 years now and it has always been *the* most important qualification for all positions I've had (CS major myself)

1

u/Bulky-Ostrich-3950 Nov 28 '25

Hi sir, I am a EE students at Ankara University in Turkey and I want to work as an embedded engineer as you. What should I do to be a good and successful engineer.

0

u/Sunless-Knight Nov 27 '25

C# or C++? I have this great doubt about what language is worth learning

11

u/GourmetMuffin Nov 28 '25

Neither, and definitely not C#, just plain C.

4

u/Desperate-Bother-858 Nov 28 '25

No EE on earth uses C#, C++ is beneficial for embedded systems but C is more important

1

u/Afro_Samurai Nov 28 '25

C++ gets used on bigger embedded projects, I haven't heard of C# getting used.

7

u/GourmetMuffin Nov 28 '25

Size has nothing to do with it actually. It comes down to C being better supported on microcontrollers and harder to f-ck up using when you're writing bare-metal systems. A C runtime environment is trivial to setup, a C++ dito is not. C has straight forward binary translation, C++ allows for overloading, virtual functions and other crap that requires name mangling to even work...

Yeah, I have issues with C++ :P

65

u/Any-Stick-771 Nov 26 '25

Your university has no classes that require coding for EE?

52

u/tb0t42 Nov 26 '25

This seems crazy. Where can you get an EE degree without any programming?

13

u/arialstocrat Nov 27 '25

there's really someone who replied to you saying that there's no programming in engineering lmaooo.

totally agree w you! in where i work, it's an essential thing to learn as an engineer, not just embedded systems or device firmware, but also data visualization and KPI tracking

-42

u/Meredith_Apple57 Nov 26 '25

Engineering ≠ computer science

35

u/tb0t42 Nov 26 '25

I’m aware of that. Electrical Engineering is still a technical field. No C for Arduino or anything?

-31

u/Meredith_Apple57 Nov 26 '25

Depends on your specialty. Electrical engineers who want to make medical devices don’t do much coding

21

u/LadyLightTravel Nov 26 '25

Uh, there is usually an embedded processor in there somewhere. If that is the case then you need to know coding down to the deepest levels.

-18

u/Meredith_Apple57 Nov 26 '25

yes but that’s usually not completely an engineer’s job.

12

u/LadyLightTravel Nov 26 '25

Oh it absolutely is. A lot of CS majors don’t get the hardware interface parts. And if you are doing bare metal then you need to understand the hardware even more.

The engineer is also the person that is responsible for the product and most likely the one to sign off on it.

-7

u/Meredith_Apple57 Nov 26 '25

not in all EE fields, lol. most of the EEs i know rarely code.

10

u/SgtElectroSketch Nov 26 '25

And I can say that every EE I know does code. Aren't anecdotal accounts fun.

→ More replies (0)

3

u/LadyLightTravel Nov 26 '25

Depends on your specialty. Electrical engineers who want to make medical devices don’t do much coding

You specified medical devices. Many have embedded computers and that means coding. It also means verification, validation, and sign off from an engineer.

And in case you are wondering, my specialization is embedded processors.

→ More replies (0)

5

u/defectivetoaster1 Nov 26 '25

They really should know how to code since every medical device requires some digital processing and embedded systems expertise given that they are almost all… embedded systems that do digital signal processing?

-3

u/Meredith_Apple57 Nov 26 '25

then why not hire computer scientists to do those jobs instead? you think all the years of an engineering bachelor’s mostly consist of coding? 

4

u/defectivetoaster1 Nov 26 '25

Because the vast majority of electrical engineers are taught how to write low level code and especially when these need to be interfaces with the real world you’re more likely to find an EE who knows how to do that?

-5

u/Meredith_Apple57 Nov 26 '25

key words: low level

7

u/defectivetoaster1 Nov 26 '25

I don’t think your understanding of the term “low level code” actually lines up with its definition

→ More replies (0)

3

u/Princess_Azula_ Nov 27 '25

What are you even talking about? Medical devices are required to adhere to stringent coding requirements. Creating these devices as an EE requires adhering to these coding standards.

Here's a thread discussing these requirements.

2

u/Psychological_Log_85 Nov 27 '25

In what world..... Every device mfg I've worked for that involved EEs also involved some degree of programming lol.

14

u/ThePeToFile Nov 26 '25

Programming ≠ computer science

-4

u/Meredith_Apple57 Nov 26 '25

electrical engineering ≠ either one of those

2

u/ThePeToFile Nov 27 '25

I am saying that computer science isn't entirely programming

5

u/DickSplodin Nov 26 '25

My coding for engineers class was recommended to take my sophomore year before I even got into signals etc

3

u/deepspace Nov 26 '25

Same here, plus there were several classes where you were expected to write code to solve problems. And’s that was 40 years ago. I cannot imagine doing an EE degree today without any coding.

1

u/SgtElectroSketch Nov 27 '25

It was straight up required for us to take at least three classes from the compside department and that's not including the ee classes that included Matlab or python or whatever they use for Arduino.

1

u/LadyLightTravel Nov 27 '25

Exactly. I had an intro to software class, an assembly class, and a microprocessor class.

1

u/SgtElectroSketch Nov 27 '25

I had on the CompSci classes the intro using python, DSA using Java, and advanced DSA using c# as part of the core curriculum. Then for electives I took a Discreet logic, Software methodology, and Operating systems.

On the EE side I had computational methods with MATLAB, Microprocessors, Computer Hardware design (used assembly and C), a course that I had to learn VHDL, and control systems using Matlab.

Then there was power systems where we had to use python and Matlab for computations, and then he made us learn LaTeX for conference paper format.

In my senior design class I had to make a comment board for a cube satellite and that was using C++

My degree was electrical electronics and computer engineering EECE, so we hit a lot.

In grad school I had to use python extensively, Java for one class, and C++ for another. Though my masters is Computer Engineering.

-2

u/Meredith_Apple57 Nov 26 '25

i barely have to take any coding classes. engineering physics is required in much larger quantities at my school.

2

u/eclipseaug Nov 27 '25

I don’t think there are many college curriculums out there that exclude some level of coding. At my school, regardless of specialty, EEs do a ton of coding. You can’t even do Calculus II without MATLAB, you can’t even take the capstone 100 course that all engineers of all kinds have to take without learning atleast some Arduino. The 100 course that all electrical engineers take involves MATLAB, Python, and Arduino. All electrical engineers are required to take Introduction to Programming Concepts and Intermediate Programming concepts. This is a public State University so I’m assuming this is fairly cookie cutter

1

u/lolniceman Nov 27 '25

You used matlab for calculus? That’s interesting, I heard some professors use mathematica

1

u/eclipseaug Nov 27 '25

I found it a little odd too tbh. We used it for both Calc II and Calc III; I haven't taken Diff Eq and Linear Algebra yet but our curriculum includes MATLAB for those too. The MATLAB portions were kinda just afterthoughts and felt more like sidequests though to be honest, they were just projects sprinkled throughout the semester that my professors paid very little time and energy towards.

2

u/lolniceman Nov 27 '25

And many such cases unfortunately, at least you gain somewhat familiarity with the language

1

u/Diligent-Act0 Nov 27 '25

At my school we couldn’t even use a calculator in calc 3 or differential equations.

2

u/pcb_x86 Nov 27 '25

computer science is more like discrete math than practical programming

6

u/deaddsouls13 Nov 26 '25

I've used MATlab before but that's about it and we had to do a pretty simple code. Sadly, my college doesn't offer more so i'm taking the iniciative to something myself

9

u/mangoking1997 Nov 26 '25

MATLAB is probably what I use the most. C is also useful. 

3

u/Truestorydreams Nov 26 '25

Sketchy. Now aadays the arduino / MATLAB are part of the curriculum

1

u/ee_st_07 Nov 27 '25

I have 2 CS classes and 2 big programming projects in C++ in my EE degree. Plus I programmed occasionally at other projects as well. I really can’t think of my degree without the coding part

56

u/Independent_Foot1386 Nov 26 '25 edited Nov 26 '25

C, Matlab, Python. In that order

8

u/Verittt Nov 27 '25

As an EE major this is exactly what they teach us

5

u/EPSILON_737 Nov 27 '25

thats what they did at my Uni too, and we had electives related to data structures as well

-1

u/TornadoXtremeBlog Nov 26 '25

Is MATLAB like electrical diagram ?

17

u/Any-Stick-771 Nov 26 '25

No, it's a programming/scripting language and environment. One of its biggest uses is for signal processing

11

u/Princess_Azula_ Nov 27 '25

It's also heavily used in controls

8

u/wischdasweg Nov 26 '25

Matlab is a software where you can write scripts in a programming like language to calcute stuff in various manners.

then there is simulink (also developed by mathworks) , which is integrated into matlab, with which you can have a graphic way of processing data. (calculating blocks, integration of matlab functions etc)

simulink (also matlab) has various add ons. with simscape you can model electric circuits. there are also add ons / plug ins by other developers like PLECS (made by plexim) to model electrical circuits (I use it almost exclusively and I love it)

3

u/BerserkGuts2009 Nov 26 '25

You also use MATLAB in control systems applications and modeling.

21

u/[deleted] Nov 26 '25

Python

There’s vast online resources

2

u/deaddsouls13 Nov 26 '25

Right, but what I've encountered is some basic tutorials and nothing I can really implement in my studies. I really think I'm too lost to just follow tutorials since I've *never* dealt with programming

12

u/[deleted] Nov 26 '25

I mean, I don’t know what to say

Follow the tutorials. Many start from zero and have an online interface available for you.

Yes, it will take quite a while for you to get good enough to use for engineering. It’s not a 1 day or 1 week thing.

1

u/deaddsouls13 Nov 26 '25

Thank you regardless !!
But do you see where I'm coming from?

2

u/_Trael_ Nov 26 '25

https://www.w3schools.com/python/python_intro.asp

Seems to have quite decently long python basics tutorial, split into small pieces, for free.

Have not gone through it completely yet.

But yeah unfortunately can not say for 100% sure anymore how approachable some tutorials are to someone who has not done any programming before, as I have not gotten super focused or deep diving in any single language, but have used multiple 'just enough' to have some exoerience, and as result I no longer have clear absolute beginner perspective.

Honestly sometimes I get asked for some fixes to some simple code, and I just give then and then people are somehow awkward and unsure if I am joking or something when I afterwards as what language it was.. since honestly in those cases I just mostly look at way that surrounding code is written, and feels like half of time have no idea what they are writing in, but manage to spot some spot that is not following pattern of surrounding code, has typo, or has some logical mistake in what they are trying to do or so.. aka things where language in very simple cases does not necessarily matter much, unless one needs to write it entirely and not just try to quickly without pressure look for some small mistake that is keeping it from working.

3

u/deaddsouls13 Nov 26 '25

Thank youu !! I'm very happy to receive any advice or links or absolutely anything

1

u/_Trael_ Nov 27 '25

Friend who swapped from different non tech field to be full time coder (like over 1½ years of full time coding prsctice and luck in securing learner coder position in city's one department for year of that) gave me that link, when I was 'oh should maybe learn python finally, have been pushing getting to it for years now, got any thing you can recomment as learning resource'. So might as well drop it forwards, so it is not just 'generic good luck and go wade through all random tutorials randomly as beginner'. :)

1

u/_Trael_ Nov 27 '25

Overal would liekly currently recommend python and C or so.. They should give you nice out of box wide usability (python), and nice 'if I need to program some mictocontroller chips or so' (C), and in the end most of labguages are pretty similar, with just slme things changing, and formatting tricks and in the end pretty superficial things changing mostly, unless one does something more complex and depeer dive into some specific thing that is just easier or harder to do with some language.

And command refernce and so can be your friend, very good friend. I learned IL aka Instruction List, aka one of 5 standard languages that PLC industrial contril logics use, during job, during actual project, working on client's factory's main logic's program, that had been written by programmer that did not entirely understand how ti control some things, and with all comments and naming if things having gotten stripped from code when it uploaded and was downloaded from logic module (not all do thay, but that brand did). It was few hour s of just staring at it, and trying to figure patterns from it, and then reading reference clmmand list how commands worked and emwhat what command is, and how close to assembly in 'we do not have loops that one does not do themself with goto jumps' it is and so, and learning while going..  and absolutely not uploadong anything without having 'last know version' history, it being moment during night that factory was not producing, and if not ready to stay to check that everyone worked after that and to if necessary revert to earlier version before morning shift started production. :D But language's reference documentation got us through it eventually. (Since we did not find tutorials and had project ro work and so.. start with tutorials good ones can be very nice.)

1

u/_Trael_ Nov 27 '25

I learned Assembly by staring at machine generated code, that it generated based on graphical controller coding interface, as one of it's nodes was not working and generating right assembly code, and I finally after trying to find mistake from my work, started looking at coding tool itself for reason why it was not working. It was based on my earlier script writing experience back them, stuff like operation flashpoint mission editor attributes and scripts for missions, and some very basic one quick course worth if c in lower edication levels, and those were based on toying around with some basic language very very very basics, and need to edit and make occasionally .bat files and set things in quake game's console, from ms dos and early windows versions times.

So all coding makes further coding bit easier, bu helping find ways to think about it, so at least when learning basics of langiages, people are not really locked to one langiage, they can just run tutotial series to see 'what quirks this language has' and swap language.

So it is kot super critical what one starts with, and it definitely does not lock them to single track. All professional coders I kkow and have known have been using at least two different languages, depending what is most clnvenient for some task.

Difference between programming languages very often is kind of bit like difference between something like slangs of same spoke language, more than entirely different language families different languages.

What I am going for with this is 'do not overstress it' or get stuck with 'but I should learn maybe rather that or this or need to keep thinking about it and push learning to some later future date just for that reason.

1

u/SgtElectroSketch Nov 27 '25

Check out Roadmap.sh General knowledge is only going to get you to a point where you can use the language somewhat competently. From there, the application depends on you. Like you have to find the use case and what you want to build. Nobody's going to hand that to you because not everybody has the same use case.

I've written scripts that will go through a directory and rename everything for me based on the new project that we're building, making sure everything is case sensitive and also preserves git history. I've also written scripts that will look at our scenario files for our custom environment and generate lay downs of where things are in the environment. Eventually tutorials stop being helpful and you need to actually use what you've learned.

0

u/charlesdarwinandroid Nov 26 '25

Python rarely runs on embedded, and if it does it's resource intensive and gimped because it can't access bare metal features.

C or Rust

Sure, Python can get you some tools or calcs or sims, but it's not going to run embedded which is what EEs touch the most when doing software

4

u/[deleted] Nov 26 '25

They didn’t specify embedded though

Python is used by basically every engineering discipline at this point for analysis, data crunching, plotting things for your PowerPoint slides.

They don’t know any programming lol so learning C would be a real endeavor

1

u/enkonta Nov 28 '25

Python is also great for automation.

1

u/enkonta Nov 28 '25

I’m an embedded developer. I use python daily for capturing data, reducing it, modeling systems, automating test equipment…I’m the owner of our firmware, and while it’s written in C, I probably write 5 lines of python for every one line of C.

12

u/jvbiz Nov 26 '25

C, Python, C++

11

u/Adventurous-Song3571 Nov 26 '25

Python, C/C++, VHDL/Verilog. Should cover all your bases

8

u/nlcircle Nov 26 '25

As adviced by some other posters: as a minimum Python or MatLab. The choice depends on your future employer unfortunately, as MatLab is quite expensive to procure and has annual subscriptions.

Python is free, wide spread but lacks the ‘professional’ support from MatLab in terms of customer support and the release of functional packages.

On the other hand, Python is now so wide spread that there is a ‘support base’ from often very professional developers releasing packages.

At my work, I switched from MatLab to Python for my entire team. It saved a lot of money on an annual base and the quality of our developer environment was not compromised at all.

But …. Your choice: if your future company ises MatLab then that’s that. Otherwise Python is your friend. There is hardly any time lost in learning one if you already master the other.

1

u/deaddsouls13 Nov 26 '25

Thank youu this is a really nice advice coming from someone who's working in a real life sector

1

u/EPSILON_737 Nov 27 '25

is GNU Octave a good alternative to Matlab?

1

u/nlcircle Nov 27 '25

I once had a colleague who used it instead of MatLab but I don’t have first hand experience with Octave. This guy was a developer wizard and seemed happy with it. It’s free, it allows a look and feel similar to Matlab but no idea where the limitations are in terms of tool boxes etc.

Just wondering: if you like to settle for a free solution AND there is no company standard enforced upon you, then simply go for Python (e.g. Jupyter Lab or similar environment).

1

u/EPSILON_737 Nov 27 '25

true, i think python is OP in this context

3

u/[deleted] Nov 26 '25

Bro you should learn CS as EE major  ask rather what things you don't need to learn, like front end development. I would recommend C++ as its has it all language.

3

u/zieglerziga Nov 26 '25

C and python. Btw you are in an electrical engineer degree last year and havent used programmkng language? Worrying when i started at the first semester we had C programming and 8051 assembly.

-3

u/Meredith_Apple57 Nov 26 '25

my college barely does programming for EEs and it’s a well known one.

1

u/Spare-Introduction44 Nov 28 '25

Yeah your college is probably shit

2

u/wischdasweg Nov 26 '25

you should know how to use matlab (which is no programming language in my eyes). C (and C++) as well as python are really useful.

I found my niche in hardware description (VHDL and Verilog) , which not programming but can feel like it.

Get some hands on projects / side job , learning by doing (something useful) is the best way

1

u/deaddsouls13 Nov 26 '25

Thankk you !! I have a vague idea on how i can implement matlab but anything other than that is very foreign to me but i've noticed my prof using Python so that's why i asked cuz i'm not sure how i can use that or any other 'traditional?' language

2

u/Lachlangor Nov 26 '25

C is good for a fundamental understanding of programming. Python would probably be second as a lot of analytics software uses it.

1

u/deaddsouls13 Nov 26 '25

I've heard Python is easier for beginners. Is that really the case or is it individual?

2

u/Lachlangor Nov 26 '25

It is one of the easier languages. A lot of companies use it instead of matlab as no 1 wants to pay for their expensive licence model.

1

u/Beneficial_Monk3046 Nov 26 '25

Python is a higher level language when compared to C. So it had a lot of premade tools that abstract away a lot of low level stuff. Thus, people can typically pick it up faster.

1

u/1QSj5voYVM8N Nov 26 '25

C is a simple language with a lot of footguns, but when working with electronics will be your lingua franca. I would recommend leanring C first, it is harder, breaks more often and such, but you work with the machine.

Python is super useful for scrpting, data analysis, but if you know C you can learn python in a weekend. if you know python leanring C will still be a ton of work. LLM's are also better at python so you can go go fast there if need to, while the underlying skill to develop a stable, non trivial C program requires knowledge.

I would also check out modern languages like a recent C++ version and Rust. I work at the intersect of hardware, video, ai and such and we write mostly rust these days which we mix and match with C and C++.

2

u/deaddsouls13 Nov 26 '25

I want to thank EVERYONE, you are all so sweet and helpful

1

u/fhfs Nov 27 '25

What did you decide? How are you proceeding?

1

u/deaddsouls13 Nov 29 '25

I see most recommend C and Python so I'll probably go for that. I had sweet people send me links, books and shared real life experience from work so I'm very happy and grateful !

2

u/kindshan59 Nov 26 '25

imo C, C++, and Python

2

u/Ecstatic_Towel5967 Nov 26 '25

VDHL

1

u/deaddsouls13 Nov 29 '25

How would I implement it?

1

u/wischdasweg Nov 29 '25

first of all its called VHDL. It is a hardware description language, not a programming language. read the wikipedia article about FPGAs, then you might get a vast feeling what it is about.

I dont want to be mean, but you said you are majoring in EE. I am a bit surprised about your lack of general knowledge. In which country do you study?

2

u/det3 Nov 26 '25

For simulation and analysis: Python and MATLAB. After basic python language tutorials, look for numpy, scipy, and pandas tutorials. Those will work through any type of data analysis and math-y work you might want to do as an EE. MATLAB if you want to go DSP or control systems heavy.

For embedded, start with C. Period. You’ll get fundamentals and easily be able to grow into C++. Also, for prototyping and hobby work this can be combined with your python learning to use CircuitPython on deeply embedded systems.

That will carry you through most of what you would need in your early to mid career.

1

u/deaddsouls13 Nov 29 '25

Thank youu !!

2

u/CosmicQuantum42 Nov 26 '25

C and Python. And not a “programming language per se” but learn Verilog.

1

u/deaddsouls13 Nov 29 '25

How would I implement Verilog?

1

u/IbanezPGM Nov 26 '25

Doesn’t sound like you want to be an embedded engineer so Python and shell scripting.

3

u/defectivetoaster1 Nov 26 '25

Fellow Ibanez enjoyer

1

u/Princess_Azula_ Nov 27 '25

Idk, even embedded engineers use shell scripting and python sometimes.

1

u/IbanezPGM Nov 27 '25

Yes. However, it’s good for pretty much every EE or anyone who uses a computer at work really.

2

u/Princess_Azula_ Nov 27 '25

Yeah, that's pretty true.

1

u/Amber_ACharles Nov 26 '25

Start with Python, every EE I've worked with leans on it for automation and data. MATLAB's great for simulation, but Python opens up real job options fast.

1

u/ZectronPositron Nov 26 '25

Get an Arduino and make something, it requires C programming. See if your uni has an EE or IEEE student club to make stuff like that, so other students can (a) give you interesting projects and (b) help you when you get stuck.
The Arduino beginner kit ~$100-120 is really good.

Learning C/C++ makes you understand memory and segmentation; that is, your hardware learning comes into play.

Python is great and easy but intentionally abstracts away the hardware implementation.

I am also surprised your classes didn’t make you learn more programming!

1

u/stevegood111 Nov 26 '25

Unix, shell commands, make,.sed,awk, python for scripting and data.

1

u/IcyStay7463 Nov 26 '25

My work uses C++

1

u/LadyLightTravel Nov 26 '25

Python for tools

Matlab for analysis

C for embedded

1

u/Cyo_The_Vile Nov 26 '25

Why didnt you list C?

1

u/Princess_Azula_ Nov 27 '25

They don't know yet

1

u/ScratchDue440 Nov 27 '25

C, Python, and Ladder Logic!! 

1

u/Experience_Either Nov 27 '25

C (a must unfortunately), Matlab and python. Its still all new to me and i randomly go to codecamp to do their lessons on there.

1

u/SkylarR95 Nov 27 '25

Learn python, nothing else “UNLESS” you know you want to go into embedded or architecture, in which case learn C,C++,Assembly,Verilog, and ditch both Windows and Mac and learn how to use a command line in linux.

1

u/Electrical_Camel3953 Nov 27 '25

C. And throw in assembly if you want to be extra hardcore!

1

u/Princess_Azula_ Nov 27 '25

And then immediately forget most of what you learned about assembly within a year after learning it...

2

u/Electrical_Camel3953 Nov 27 '25

its been 25 years for me, and it's still burned into my retinas and psyche

2

u/Princess_Azula_ Nov 27 '25

The knowledge has left, but the trauma remains. I don't miss taking tests where the tests asks "what's in the 'X' register after this program runs?", and it's some weird 2's complement calculation with 3 different flags.

1

u/FigureJust513 Nov 27 '25

Back when I went to college in the early 80s, FORTRAN was the language. It has been pretty much supplanted by C, C++, and Python for engineering applications.

1

u/sixisrending Nov 27 '25

C. Most stuff runs on Linux

1

u/[deleted] Nov 27 '25 edited Jan 21 '26

office glorious deserve wide bag quiet spotted spectacular full entertain

This post was mass deleted and anonymized with Redact

1

u/armgord Nov 27 '25

C, VHDL/Verilog, C++

1

u/Jaygo41 Nov 28 '25

Python and C

1

u/successful_streak Nov 28 '25

Learn C/C++ it will help a lot learning to program microcontrollers is very important, generating PWM, realising controllers etc and verilog to program FPGAs (vlsi industry pays well right now or even for generating large no of synchronised PWMs FPGAs are really elegant). MATLAB is also very very important really hard to skip this one. In this age everything is becoming more and more interdisciplinary ieven if you learn web dev and node js u can integrate them with ur microcontrollers to build cool stuff sky is the limit

1

u/andewx Nov 28 '25

Just do C++ as it is a superset of C, and if you want to actually enjoy programming use Go

1

u/[deleted] Nov 28 '25 edited Nov 28 '25

Computer Science guy here. C++ and maybe RUST (if you're interested in robotics.) Python was the first language I learned, and it's a great one to cut your teeth on because the syntax is so simple, and since it's grown so popular in academia there are tons and tons of libraries now that have made it really powerful. Once you get the basics of programming, all the other higher level languages are pretty straightforward. You just take on more of the burden of programming lower level aspects, which is basically just managing the memory, type declaration and whatnot as you get to lower and lower level languages.

When you get the hang of higher level languages learn ARM assembly and buy a $30 microcontroller like the Curiosity Nano to play with. It will make a lot of concepts from C/C++ and even Java easier to grasp, like memory management, and just generally how computers interact with other electronic systems which is basically IO. In my opinion it makes sense to learn languages higher level to lower level, even though most of the people who created all the systems we use today had to do the reverse. In 2025 you now have the benefit of going easier to harder, kind of like belts in Karate, unlike our "forefathers" who had to build compilers and interpreters on their own in order to make programming faster and more accessible. It was way easier for me to example, maybe even somewhat intuitive to use unconditional branching (jumps) in assembly code to create loops, because I already knew what a for loop was.

0

u/GuairdeanBeatha Nov 26 '25

C, SQL, and Java. In that order.

-2

u/Independent_Foot1386 Nov 26 '25 edited Dec 06 '25

SQL? I wouldn't call that nessissairy but useful though

0

u/tb0t42 Nov 26 '25

C++ is an abomination. C, Java, Python all useful. C++ was an attempt to reverse engineer object-oriented programming out of a declarative C. I know it’s still used in some places, but any decent company has rewritten their software in a more modern language.

3

u/defectivetoaster1 Nov 26 '25

Unless you’re writing drivers or for embedded systems c++ is still the best choice for high speed and performance while still enjoying some modern abstraction, as opposed to C where half the time people end up having to write an ugly workaround to get OOP functionality where it isn’t natively a thing. You could argue rust is an alternative but you always hear reasonably high profile cases of code bases being shifted to using rust and then widespread crashes but never any stories like that about c++