What programming languages/pathways should I focus on?

In summary: I would also recommend taking a class in basic data structures and algorithms. This will give you the basics of how computers work and will help you understand why programming is necessary.In summary, a Senior in High School wants to go to college and study Computer Science. They have been learning Front End Development and Java in the past year, but feel like they need more focus and direction. They would benefit from taking a class in algorithms and data structures, as well as learning more about the different areas of programming.
  • #1
JackF
1
1
TL;DR Summary
I am a senior in high school with front-end and back-end experience. I struggle from a lack of focus on specific languages and paths due to curiosity and being overwhelmed and hope to get suggestions on how to hone in on specific topics.
I am a Senior in High School looking to go to college for Computer Science. Since Freshmen year I have been learning Front End Development (HTML, CSS, and Javascript), albeit somewhat slowly and staggered due to school getting in the way and whatnot. In the past year, I have learned some more about Java - with my AP CS A class, as well as a little bit of Python.

My end goal is to get out of college with the ability to get a well-paying CS job. As you might be able to tell, I have not yet narrowed it down to Front End or Back End because both entice me and I figure I’m still young enough to do both. However, I feel like I have the problem of getting sidetracked by projects and languages - partly because I am curious and also partly because I am nervous that the path I decide to stick to one day is not the best path. I’ve looked at job offerings online just for the heck of it in the past, and it’s overwhelming to see how many languages are out there that I have no idea about.

This all goes to say that I feel like I need a plan. I know I’m still in High School but I’m driven and I want to get ahead. Does anyone with CS knowledge have suggestions in regard to:

How many languages should I learn?
How focused should I be on specific areas?
How to best develop myself to achieve these future job goals.

Thank you very much for any and all answers. I really appreciate it.
 
  • Like
Likes DeBangis21
Technology news on Phys.org
  • #2
You have a lot of time to answer those questions. Your question about "front end" versus "back end" makes me think that your exposure to programming has been fairly limited. There are many applications and uses of computer programming that require different languages and techniques. As time goes on, you will want to determine what type of application are you interested in: Artificial intelligence? Video games? Embedded programs? Big Data? Operating systems? etc.
Also, as a software engineer, there are many jobs that are not programming directly. From https://www.mastersportal.com/disciplines/329/software-engineering.html: "Software Engineering topics include: computer programming, algorithms, data structures, human-computer interaction, web development, software project management, architecture and operating systems, security and usability, social responsibility and ethics, etc. Software engineers usually work in teams."
 
  • Like
Likes DeBangis21
  • #3
It's not about knowing a lot of languages. It's about knowing how to program.. (There is a difference between knowing how to paint and owning a lot of brushes)

When you get to college, take a class in algorithms and one in data structures.
 
  • Like
Likes phinds, Hornbein and FactChecker
  • #4
If you are going to pick one language to learn, C is probably it. That is a language that practically every programmer knows, is used very widely, and is the basis for many other languages.
 
Last edited:
  • #5
Vanadium 50 said:
It's not about knowing a lot of languages. It's about knowing how to program.. (There is a difference between knowing how to paint and owning a lot of brushes)

When you get to college, take a class in algorithms and one in data structures.
This is quite true. My (very famous) college didn't teach me to program at all. I learned through books and experience. Most programmers just hack together shoddy goods. I'm retired so maybe things are better now.
 
  • #6
FactChecker said:
If you are going to pick one language to learn, C is probably it.
Or C++, as many schools, including colleges and universities, don't offer C at all. In the past 10 years I've taught at two nearby community colleges. At the first, a three-quarter CS sequence started with C, with the last two quarters being taught using C++. At the second, the first quarter of the CS sequence was taught using C++, but with little emphasis on its object-oriented features.
FactChecker said:
That is a language that practically every programmer knows, is used very widely, and is the basis for many other languages.
I'm not sure that it's one that "practically every programmer knows" these days, with so many higher-ed institutions having switched to Java as their main vehicle for CS courses. In my view, that's an unfortunate choice, and one I share with Joel Spolsky, a co-creator of Stack Overflow. Here's a blog post by Joel, titled "The Peril of JavaSchools" -- https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/
 
Last edited:
  • Like
Likes FactChecker
  • #7
Mark44 said:
I'm not sure that [C]'s onel that "practically every programmer knows" these days, with so many higher-ed institutions having switched to Java as their main vehicle for CS courses. In my view, that's an unfortunate choice, and one I share with Joel Spolsky, a co-creator of Stack Overflow. Here's a blog post by Joel, titled "The Peril of JavaSchools" -- https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/
If I was interviewing a programmer for long-term employment (not just one specific program) and he did not know C, I would probably skip to the next one. (As you said, C++ would be better.)
 
  • #8
As the song goes.

When I find my code in tons of trouble
Friends and colleagues come to me
Speaking words of wisdom
Write in C


It's not crazy for colleges to centralize around Java, especially early on. C and C++ usually offer many ways to do the same thing. Java tries, with varying degrees of success, to limit this to one. For someone trying to understand something else, like data structures. this simplification can be helpful.

Also, C++ was late to the game with enums, and "just use int" (not even unsigned!) is part of the style and culture. Personally, I want Tuesday*Monday - Tuesday to throw an error, not evaluate to something.
 
  • Like
Likes Ibix and FactChecker
  • #9
Mark44 said:
so many higher-ed institutions having switched to Java as their main vehicle for CS courses. In my view, that's an unfortunate choice, and one I share with Joel Spolsky, a co-creator of Stack Overflow. Here's a blog post by Joel, titled "The Peril of JavaSchools" -- https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/
I remember when the trend in schools was to teach Pascal. Schools still seem to focus on one language or another. My experience is that specialized languages for particular applications can offer a lot of benefits. In any case, a professional programmer has to deal with so many language types: general, scripting, database, assembly, etc., let alone languages, that making students think in terms of one language is very misleading.
 
  • #10
FactChecker said:
I remember when the trend in schools was to teach Pascal.
Yep, me, too. In fact, I took a summer class at UW (Univ. of Washington) that was advertised to be in Pascal, but the instructor decided to use Modula-2 instead. That was in 1984.

FactChecker said:
In any case, a professional programmer has to deal with so many language types: general, scripting, database, assembly, etc.
With a very small minority being conversant in assembly, I suspect. I recently taught about a half dozen classes in Computer Architecture in which there was a strong emphasis on MIPS, a kind of assembly language.
 
  • Like
Likes FactChecker
  • #11
Mark44 said:
With a very small minority being conversant in assembly, I suspect. I recently taught about a half dozen classes in Computer Architecture in which there was a strong emphasis on MIPS, a kind of assembly language.
I'll buy that. I never had to be conversant in assembly. The only thing I ever had to do was to count lines of assembly code to see (and understand) how fast things would run and to insert inline assembly code to track test coverage. But it is handy to be able to do small things like that in assembly code. And many of the people I worked with did a lot more assembly code.
 
  • #12
The whole discussion is moot: a good programmer can write Fortran in any language

(at least one hit says it quotes
Ed Post, Real Programmers Don't Use Pascal, 1982. )

##\ ##
 
  • Haha
Likes shivajikobardan and berkeman

FAQ: What programming languages/pathways should I focus on?

What programming languages should I focus on?

It depends on your career goals and the industry you are interested in. However, some popular programming languages to consider learning are Python, Java, JavaScript, C++, and SQL.

Should I focus on front-end or back-end development?

It is beneficial to have knowledge of both front-end and back-end development. However, if you are just starting out, you may want to focus on front-end development first as it is more visual and can help you understand the basics of web development.

What pathways should I follow to become a software developer?

To become a software developer, you can start by learning the fundamentals of programming languages, gaining experience through internships or personal projects, and continuously improving your skills by staying up-to-date with the latest technologies and trends in the industry.

Is it necessary to learn multiple programming languages?

While it is not necessary to learn multiple programming languages, having knowledge of different languages can make you a more versatile and well-rounded developer. It can also open up more job opportunities for you in the future.

How do I decide which programming language to focus on?

Consider factors such as your interests, career goals, and the demand for certain programming languages in the industry. You can also research job postings and talk to professionals in the field to get a better understanding of which programming languages are most relevant and valuable in the current market.

Similar threads

Back
Top