Skip to main content
41 answers
43
Updated 3923 views

what kind of programming language would you recommend for a computer engineer thats also a freshmen in high school?

were are doing a project at school about our carrier #technology #computer-science #software-engineering #computer-engineering #programming #software-development #computer-programming #python #java #C #javascript

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

43

41 answers


5
Updated
Share a link to this answer
Share a link to this answer

Shawn’s Answer

Python is a good start.

C/C++ if you want to understand how computer works.

Java/Javascripts if you want to learn Web programming.

5
4
Updated
Share a link to this answer
Share a link to this answer

Cem’s Answer

the two you really need in this day and age are:
1. JAVA
2. PYTHON

It really depends on what you want to be doing within this field but the these are the two must haves - especially Python.
4
2
Updated
Share a link to this answer
Share a link to this answer

Raj’s Answer

For a beginner, I would recommend java. It is much more structured than python which makes for best practices and better programming as you develop in your career. Python has a lot of hype right now and there is a lot of uses for it. I would learn Python as well but start with Java. You will see Java being used a lot in the enterprise as it scales much better than python. Java is multi-threaded whereas Python isn't. People say Python is a lot "faster" to code in which line by line is true but you will spend a lot more time debugging your python code so in the end not true. It's way easier to debug Java in an IDE. Java is also similar to JavaScript which a lot of developers code in as well.
2
1
Updated
Share a link to this answer
Share a link to this answer

Sankkara Narayanan’s Answer

C

The most basic, raw, down to metal high-level language. Most modern languages are built on some flavor of C. So, basically learn C and learn it good.

1
1
Updated
Share a link to this answer
Share a link to this answer

Srinivas’s Answer

The programming language eco system is exploding. Some very generic and some provide great way to solve a specific domain of problems. On high level, they are all about syntactic sugar to model problems and how its syntax and constructs help solve. I have gone through low level Assembly level to 4th gen (such as SQL) during school and career. At the end, they all are implemented (under the hood) in C/C++ (or other low level procedural language, that comes close to machine language) to convert to machine specific assembly lang (which uses native "instruction set" of the associated CPU).


For any career as a computer engineer, I think it is essential to "know" the breadth of available languages, what they are good for, and how they are executed (compiled vs interpreted etc). For pure mastery, start with C (I would not recommend C++), and go to Java, which is great for Object Oriented domain. You should also know one or two scripting style languages like Perl (or PHP, or Python), which if you like can do great things with. JavaScript (ECMAScript) introduces a totally new way to think about OOP, based on its "prototype" based concepts, unlike Java, which is purely type-based (think of Classes). Look at the latest trend in list of popular languages and JavaScript is spiking fast (but is little harder to master). Another language that is easy to learn and get going is Python.


Srinivas recommends the following next steps:

Online sites like Youtube, Udemy are great for learning new languages.
Visit local bookstore and look at the books on available languages. The ones shelved are probably popular :)
1
1
Updated
Share a link to this answer
Share a link to this answer

Casey’s Answer

In my experience, I would definitely recommend to learn the basics 1st (C#). As far as what I have noticed being used in companies, I would say Javascript and SQL the most, but Python is also very much in demand.

If you think you are interested in Computer Science and programming, the quintessential course that you NEED to view lecture materials for is Harvard's CS50. All of the lectures are available for anyone to view for free online (enrolled or not).


Here is the link to the 1st one

https://video.cs50.net/2017/fall/lectures/1


There are 12 lectures in total. In order to view them all just replace the 1 at the end with a 2...then 3...then 4 etc. until you reach the number 12.


These are absolutely fantastic videos.



Casey recommends the following next steps:

Watch all of the CS50 lectures.
1
1
Updated
Share a link to this answer
Share a link to this answer

Sri’s Answer

As we move more into AI (Artificial Intelligence), Gen Z folks should invest more into Python, R-Programming language where data is in epi-center of all this. I would recommend to start looking in Google's Tensor flow and Pytorch to ignite the new Gen Z's along with NLP's (Natural Language processing algorithms).
1
0
Updated
Share a link to this answer
Share a link to this answer

Qizhi’s Answer

No matter which language you would choose, be the master. Mastering one language is more important than knowing/using several.
0
0
Updated
Share a link to this answer
Share a link to this answer

Sindhura’s Answer

I would recommend Python to be learnt first since it is the trending language now. Along with this I would recommend any of the object oriented programming language like Java.
0
0
Updated
Share a link to this answer
Share a link to this answer

Vivek’s Answer

Programming is an art. I strongly recommend start reading 'Let us C' book written by Yashwant Kanetkar. Once you get an idea of what magic few lines of code can do, you'll start developing immense interest in C.

After practicing syntax/loops/variables/functions/data structures/few beginner level codes, you can switch to learn Python. I must say - Python is the future. Also, you don't need to invest same time learning Python language as you spent in learning C, because 80% concepts are similar except OOP (Object Oriented Programming).

Trust me, all programming languages are very much similar to each other. Logic remains same, only syntax changes.


0
0
Updated
Share a link to this answer
Share a link to this answer

Daniel’s Answer

Assuming no prior experience in programming, I'd suggest learning with something like Python (e.g. following LearnPythonTheHardWay).


If you have access to someone who knows what they're doing to bounce questions off of, maybe Lisp (scheme) + SICP: https://mitpress.mit.edu/sites/default/files/sicp/index.html


If you have access to ap comp sci course later on, I think they use Java (though I really don't know), so that might work as well.


If you're dead set on comp E instead of just comp sci, then you'll eventually want to knuckle down and learn C, the most trigger happy of all foot-guns available.

0
0
Updated
Share a link to this answer
Share a link to this answer

Pradip’s Answer

I would recommend python. The online documentation is good, the online community is good, and it has popularized generators and made them easy to implement (that might not mean anything now, but it solves a major issue with writing software: separating what a loop does from what it consumes, and this is where a lot of bugs come from).

The main thing to learn is to have fun solving problems. My advice: start with making a choose your own adventure text game. As you learn more elements of programming you can have this overarching project that you refine and work on. Of course, there are other things you could write, I’m just thinking of what worked for me back in my youth.

Best of luck.
0
0
Updated
Share a link to this answer
Share a link to this answer

Amy’s Answer

I think it depends on the thing you want to make. There are many kinds of technical computer-based jobs. You said "computer engineering". But you might have also meant "computer science" or "software engineering". So ... it depends!

If what you want is to make machines move or hardware talk to each other, you need to get "closer to the machine" by writing code that knows about devices and such. I would learn Python or C in this case. You'll want to dive into two areas:

1) Get to know machines. Like a Raspberry Pi for example. That's a bit of hardware that has a CPU with memory (RAM), networking ports, pins to control servos and other hardware, and pluggable interfaces. Writing code on that machine uses Python.
1b) As you think about memory and how the CPU runs your instructions (compiled from code), you'll get to know that there's some pretty important limitations around space, time, and power. From here you might want to learn C or Java.
1c) C lets you get really close to the inner workings of the computer without worrying about machine code instructions. Java is like a step up from that where the programming language (and its "runtime") handle icky things like memory management and object lifecycles.

2) There's a -completely- different branch of computer engineering that's almost entirely software that deals with writing applications and processing data. This is the realm of like artificial intelligence (AI) and machine learning (ML), web apps, web design, user experience, and mobile apps.
2a) If you go AI/ML and want to crunch data for big problems, find patterns, and do predictive stuff then Python is your friend. Lots of libraries and help there. Python is also fairly easy to read/write.
2b) Web apps gets you into the realm of JavaScript and Node.js. There's whole worlds of platforms built there like React, Rails, Vue.js. You can do things that work on web servers that talk to your web browser and back again. There's more advanced stuff like processing queues in the "cloud" on Amazon servers. And you can get even more complicated when you talk about security and scalability. That starts to cross back into computer engineering. And as you go "up stack" you bridge into user experience.
2c) Web design is a whole universe of itself and is related to web apps. Web design is where you begin to think about what an app does, who are the users (user research, usability), how does it look (design, style, CSS, graphics), how does it sound (audio design), how do people speaking different languages use it (internationalization), accessibility. Wow. So much. I'd pick what resonates with you and start to dive into each of these sub-universes. JavaScript will still be your friend in rapid prototyping, doing frontend work, and understanding how browsers work.
0
0
Updated
Share a link to this answer
Share a link to this answer

Rohit’s Answer

If you are interested in learning toward code, then Python, C/C++ and Java are the best software programming languages for engineers to start with owing to their wide range of usage in software development projects.
0
0
Updated
Share a link to this answer
Share a link to this answer

Karthik’s Answer

I would recommend Python to start with. Main reason for this recommendations is its simplicity. Python is also rich w.r.t library support for Math and its application machine learning. In next level, pick up a java which is bit difficult to master, but opens up lot of opportunities professionally and from learning point of view.
0
0
Updated
Share a link to this answer
Share a link to this answer

Joanne’s Answer

Python


It's a friendly, open-source based language used by the masses.



0
0
Updated
Share a link to this answer
Share a link to this answer

Dinesh’s Answer

Machine Learning, Hadoop, Data Science has a great demand in the industry
0
0
Updated
Share a link to this answer
Share a link to this answer

Simeon’s Answer

I've been told that R and Python are pretty safe bets starting out. Get to know basic SQL and look into some of the major dialects of SQL as well.
0
0
Updated
Share a link to this answer
Share a link to this answer

Brendon’s Answer

It depends on what kind of Developer you'd like to become. Javascript is very much in demand and it pays well to learn it.
0
0
Updated
Share a link to this answer
Share a link to this answer

Pablo’s Answer

My recommendation is learn two (at least) languages at the same time.
You have to learn how languages solve common problems (object orientation, encapsulation, concurrency, memory manage, etc) and use them when fit to the issue you are solving.
I suggest learn Java and Python together or you can include GoLang, Javascript or C++ or Scala

Those languages come to my mind because they are very used in the industry and have a lot of resources to learn and active community to reach out.

Best of luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

D S’s Answer

Start with C to understand the fundamentals like Dat structures, memory management. C++ for Object Oriented Programing concepts. Next learn Java as it is widely used programing language. Python if you want to learn Machine Learning programing.
0
0
Updated
Share a link to this answer
Share a link to this answer

Pengyu’s Answer

For beginner, I would definitely recommend Python. It is very easy to pick up and allows you to build something really quick. And you don't have to deal with compilation stuff for Java or C++. Besides, Python is also a very versatile language that is being used in areas of programming, web site, data process, data analysis, machine learning and computer vision, etc. The list is still getting longer and longer. Once you get into programming, you can pick another language like Java or C++ to dive deeper into how computer program works. There will be advanced topics like memory allocation stuff but you don't have to deal with that in Python at all.


At last but not least, you will hear a lot of people saying: Life is short, you need Python.


0
0
Updated
Share a link to this answer
Share a link to this answer

Vipul’s Answer

The language of choice depends largely on the field you are working in.

As a developer in networking domain, C and C++ are largely popular among organisations.

For web development, there are again different branches like front-end, back-end or fullstack. Javascript and NodeJS are quite popular for fullstack development.

In Machine Learning development, Python is number one.

For testing framework, Python is the language most organisations are either working with or switching to.

0
0
Updated
Share a link to this answer
Share a link to this answer

Hanish’s Answer

There are different types of programming languages. There are strong typed and weak typed, object oriented and prototype based, etc. For someone who is starting out in programming, I would suggest a weak typed languages like python! What do I mean by types? Programming languages have data types which are variables that store data of various types like characters, integers, etc. python doesn’t have this that’s why it’s called a weak typed language which makes it easier to understand and code with. If you want to focus on building web apps then definitely try learning javascript.
0
0
Updated
Share a link to this answer
Share a link to this answer

kalyan’s Answer

1. Python
2. Node js
3. Golang
4. C#
5. Ruby
0
0
Updated
Share a link to this answer
Share a link to this answer

Jay’s Answer

Christopher,

While there are a ton of languages out there today (and more coming out every day), I would encourage you to look at a structures object-oriented language like Java. This will give you a great foundation on which to build, and will also be broad enough to give you a working knowledge of how to structure programs regardless of language.

After that, I would encourage you to look at application focused languages (like ruby, python, or node.js).

Best of luck
0
0
Updated
Share a link to this answer
Share a link to this answer

David’s Answer

I've read a lot of answers given already, but many of them are answering as if you're about the graduate from college. You say you're a freshman in high school...so at that stage, what you really need to learn are fundamentals. You're probably not building a monster application that demands the rigor of Java. And whatever you do, don't start with C/C++...there's a time for that, but not as a freshman. I would suggest you start with Python. Not because it's in demand (it is) or because of how applicable it is in mathematics/analytics (it is). I suggest python purely because it's an easy walk through the fundamentals. And there are a number of tools that are great for working with Python when it's not working correctly (like Visual Studio Code). And tools are important!

That said, I'm just learning Python though I've been programming for 35 years. (Yes, I'm that old...grew up coding on punch cards.)
0
0
Updated
Share a link to this answer
Share a link to this answer

Sivaramakrishna’s Answer

Hi Christopher K, You could chose a programming language that would be suitable for the carrier project taking into account the frameworks and libraries it needs and then pick the one that will help you achieve its goals.
0
0
Updated
Share a link to this answer
Share a link to this answer

Satoru’s Answer

Because you are a freshman in high school, I would suggest something like Python which is a great place to start.
It has easy-to-learn syntax so that you wouldn't have to remember to do certain 'tedious' things after writing each line of code (like remembering to hit a ; after each line in C/C++).

However, once you are comfortable with some common programming tools (loops, if/else statements, etc) I would recommend you actually check out a little bit of C and C++, as those are courses you will take if you are becoming a Computer Engineer. Courses like Embedded Systems (which are incredibly interesting to learn about) use these languages often, and it can also give you some appreciation to what working with low-level programming language feels like.

Good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

Rajshree’s Answer

Since you are looking for freshmen to get comformatble with progarmming, I would suggest to go with below 3 as per your interest:

1. C/C++ - Was my first language, helped in competitive programming world. C++ helped in understanding OOPS, the Standard template library will help you understand different data structures.

2. Javascript - You can build easy projects including small Websites initially. Further use its various libraries and frameworks for complex web-development.

3. Python - easiest to learn and code. Use amazing libraries like panadas and import several extrenal packages to create wonderful applications involving AI, data analysis, machine learning.

Java - very commonly used in big firms, good choice if you want to have career in Web and android dev.

Hope it was helpful.
0
0
Updated
Share a link to this answer
Share a link to this answer

Paul’s Answer

I've worked in several large companies as a consultant to help customers and partners build applications that interact with our software products. Enterprise software companies typically offer access to their services through Software Development Kits (SDKs). It has been interesting watching how the technology/language trends have evolved over time.

For beginners, I would recommend Python. It has a simple syntax but can be an extremely powerful language to use. It works well for demonstrating concepts and there are an abundance of books/tutorials available.

Next, I would probably look at JavaScript. If you learn this language, you can start experimenting with building websites that do a bit more than just display information with HTML. Once you understand JavaScript, you could then start using it in more advanced server-side frameworks such as Node.js and React.

0
0
Updated
Share a link to this answer
Share a link to this answer

Julie’s Answer

I wouldn't recommend starting with C or C++, which I noticed some have recommended. Start with something a little easier (something with memory management built in), and after you have that under your belt you could try C++. I think Python, Java, Go, and Javascript are all great options. Javascript enables you to start to build things that can run in a browser, so that could be pretty satisfying.
0
0
Updated
Share a link to this answer
Share a link to this answer

Ka'Pri’s Answer

Hello!

At present, the leading languages in the tech world are Python, Java, JavaScript, and C++. Each one has a unique appeal, as they are tailored for specific areas of technology. Python is highly user-friendly, offering simplicity and easy-to-read code. This makes it perfect for beginners and is commonly used in AI, web development, and data analysis. Java, on the other hand, demands more expertise and has a steeper learning curve compared to Python. It can be used on multiple platforms, following the "write once, run anywhere" concept. JavaScript is mainly employed for web development, enhancing front-end development capabilities. C++ excels in performance and efficiency, but it is somewhat more challenging to learn compared to the other languages. In conclusion, each programming language has distinct features. To determine the best one for you, consider your learning preferences and areas of interest.
0
0
Updated
Share a link to this answer
Share a link to this answer

Brandon’s Answer

Python first (super simple), C/C++ second (helps with understanding), then Java (used everywhere).
0
0
Updated
Share a link to this answer
Share a link to this answer

James Constantine’s Answer

Hi Christopher,

As a budding computer engineer and a high school freshman, you have a world of programming languages to explore for your project and future tech career. Each language has its unique strengths and applications, so choosing one that resonates with your interests and objectives is crucial. In this friendly guide, I'll introduce you to some popular programming languages that are great for beginners like you.

1. Python:
Python is a top choice for beginners, thanks to its simplicity and readability. Its clean syntax emphasizes code clarity, making it easy to understand and learn. Python is a jack-of-all-trades, used in web development, data analysis, AI, machine learning, and scientific computing. Its extensive libraries and frameworks offer a treasure trove of tools for developers. Plus, Python's large user community actively contributes to its growth and support.

2. JavaScript:
JavaScript is the go-to language for web development. It's used to add interactive elements to websites, like dynamic content, animations, and user interfaces. By learning JavaScript, you can build web applications and work with popular frameworks like React.js and Node.js. But JavaScript isn't just for web development—it's also used in server-side scripting (with Node.js), game development (with Phaser), and even desktop application development (with Electron).

3. Java:
Java is a versatile language widely used across different industries. It's known for its platform independence, which means Java programs can run on various operating systems without any changes. Java is used in building enterprise-level applications, Android app development, server-side development (with Spring), and more. Learning Java will give you a solid foundation in object-oriented programming (OOP) concepts, which are crucial for many other languages.

4. HTML/CSS:
Though not technically programming languages, HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets) are vital for web development. HTML structures web page content, while CSS styles and formats the visual presentation. Understanding HTML and CSS will let you create static web pages and understand how websites are built. Plus, learning HTML/CSS will set you up for working with JavaScript and other web development technologies.

These are just a few programming languages you might consider as a high school freshman interested in computer engineering. Remember, your choice of programming language should align with your interests, project needs, and available resources. As you continue your studies and gain more experience, you might find yourself exploring other languages based on your changing needs and goals.

Top 3 Authoritative Reference Publications or Domain Names Used:
1. Python.org - The official Python programming language website.
2. Mozilla Developer Network (MDN) - A comprehensive web development resource, including JavaScript documentation.
3. Oracle - The official Java website, offering documentation, tutorials, and learning resources.
0
0
Updated
Share a link to this answer
Share a link to this answer

Anandharajan’s Answer

Basically you can start with C and C++ for basics, then you can move to the advanced programming language learning like JAVA, Python
0
0
Updated
Share a link to this answer
Share a link to this answer

Kondragunta’s Answer

In my opinion, Java, web development(PHP), python these three programming languages are having maximum jobs opportunities are available hence fresher should learn and know at least one of these, of course, it is advisable that your concepts of C , C ++should be clear, learning in a focused way is a better instead of learning to many things without having a thorough knowledge of one
0
0
Updated
Share a link to this answer
Share a link to this answer

Jessica’s Answer

Different People find different programming language interesting. Generally, high level language is easier to understand for freshmen. For example, C is more readable than Assembly. Both of them are very useful. Linux kernel is written with C and Assembly. C sync is very clean and structured, which can help freshmen develop a good practice with programming.

0
0
Updated
Share a link to this answer
Share a link to this answer

Priyesh’s Answer

java is the best language to do any sort of things
0
0
Updated
Share a link to this answer
Share a link to this answer

Rahul’s Answer

There is no right answer of course.
Choosing a first language will depend on what kind of projects you want to work on, who you want to work for, or how easy you want it to be.
During the time of AI and automation, Python is always recommended if you’re looking for an easy and even fun programming language to learn first.
It is ideal for web development, GUI and software development.

Now as you might know there are many other programming languages to learn based on your interest.
To become a master developer, consider C or C#.
If you want to pick the job profiles bases on mobile apps, go for Java.
0
0
Updated
Share a link to this answer
Share a link to this answer

Ken’s Answer

You asked a very important question. The answer would vary based upon the career interests of the individual as computer engineers are used in a great variety of applications. Here are some steps that will allow you to decide which would be best for you as an individual and be most helpful in your education/career journey. Based upon my many years in Human Resources and College Recruiting, these steps are very important in ending up in career/job that is fulfilling and satisfying. I have run into too many graduates who skipped these steps only to end up in a career area that did not fit. Selecting a career area is like buying a pair of shoes. One has to be sure that the fit and comfort level are correct before making a commitment.

Ken recommends the following next steps:

The first step is to take an interest and aptitude test and have it interpreted by your school counselor to see if you share the personality traits necessary to enter the field. You might want to do this again upon entry into college, as the interpretation might differ slightly due to the course offering of the school. However, do not wait until entering college, as the information from the test will help to determine the courses that you take in high school. Too many students, due to poor planning, end up paying for courses in college which they could have taken for free in high school. This is very important for confirming your career choice or selecting a new one if your interests and personality traits do not fit comfortably with those who are working in that career area.
Next, when you have the results of the testing, talk to the person at your high school and college who tracks and works with graduates to arrange to talk to, visit, and possibly shadow people doing what you think that you might want to do, so that you can get know what they are doing and how they got there. Here are some tips: ## http://www.wikihow.com/Network ## ## https://www.themuse.com/advice/nonawkward-ways-to-start-and-end-networking-conversations ## ## https://www.themuse.com/advice/4-questions-to-ask-your-network-besides-can-you-get-me-a-job?ref=carousel-slide-1 ## These contacts possibly lead to a variety of career exposure opportunities such as summer jobs and internships and coop opportuniteis.
Locate and attend meetings of professional associations to which people who are doing what you think that you want to do belong, so that you can get their advice. These associations may offer or know of intern, coop, shadowing, and scholarship opportunities. These associations are the means whereby the professionals keep abreast of their career area following college and advance in their career. Here are some tips: ## https://www.careeronestop.org/BusinessCenter/Toolkit/find-professional-associations.aspx?&frd=true ## ## https://www.themuse.com/advice/9-tips-for-navigating-your-first-networking-event ##
Here are some very helpful links regarding engineering as a career. Disregard that one appears to be aimed at girls, as it is the most comprehensive review of the engineering field that I have encountered. ## https://www.engineergirl.org/ ## ## http://www.futureengineers.org/ ## ## https://www.youtube.com/watch?v=43zVcmTJSKM ##
It is very important to express your appreciation to those who help you along the way to be able to continue to receive helpful information and to create important networking contacts along the way. Here are some good tips: ## https://www.themuse.com/advice/the-informational-interview-thank-you-note-smart-people-know-to-send?ref=recently-published-2 ## ## https://www.themuse.com/advice/3-tips-for-writing-a-thank-you-note-thatll-make-you-look-like-the-best-candidate-alive?bsft_eid=7e230cba-a92f-4ec7-8ca3-2f50c8fc9c3c&bsft_pid=d08b95c2-bc8f-4eae-8618-d0826841a284&utm_medium=email&utm_campaign=daily_20171020&utm_source=blueshift&utm_content=daily_20171020&bsft_clkid=edfe52ae-9e40-4d90-8e6a-e0bb76116570&bsft_uid=54658fa1-0090-41fd-b88c-20a86c513a6c&bsft_mid=214115cb-cca2-4aec-aa86-92a31d371185&bsft_pp=2 ##
0