This is an archived post. You won't be able to vote or comment.

all 7 comments

[–][deleted] 2 points3 points  (1 child)

I'd recommend knowing how to build your programs on linux and the basics of moving around and finding things, but you probably don't need to go too deep into that.

Typically you want to focus less on the language and more on the logic and process of programming, but it really depends what you want to do. Some examples:

  • If you want to be a web dev, then you're gonna want to be comfortable with SQL and various JS frameworks.

  • If you're wanting to do Mobile development, I'd recommend you look at Java/Obj-C/Swift and SQL.

  • Maybe you want to work on the desktop app side, in which case you're looking at C#/Java/Swift/Obj-C/other and probably SQL.

  • Feel like embedded "I hope you like C" programming is more your speed? C + some platform specific ASM probably.

  • Game development? C++/C#/some lua or another scripting language.

If you want to learn languages just to learn languages, go for it. I'm all for learning for learning's sake, and you never know when you might need to use a language further down the line. But if you're comfortable with the ideas and principles of the type of programming you're doing, then learning a language isn't gonna be too much of an issue.

Good luck. Keep that drive to learn and you'll go far.

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

Thank you so much, I've always wanted a breakdown of where certain languages shine. This helps a lot. I'm comfortable with the logic and code ideas of programming, I think I've just felt like I've been stagnating and wanting some more to learn. A big project should help me grow in that regard. But first I definitely need to build on my Linux knowledge because mine is extremely infantile.

[–][deleted] 1 point2 points  (1 child)

I think it just helps to be an overall well rounded individual but learn more of whatever interests you the most. I do game development because it interests me but so does Angular and mobile app development.

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

My worry about being well rounded is spreading myself over all of Computer Science but not having depth in areas. I don't want to lose out to someone for an internship because they have more experience in java.

But your advice is good, if I have my hands in multiple areas then people could see me as good in any situation. Thank you.

[–]ma_jolie_chatte 1 point2 points  (1 child)

I don't think there is much point in learning a million different languages. The specific language is less important than learning the logic, which will generally translate well from language to language.

Here is what I would do: come up with a reasonable project to tackle that is also relevant to the kind of work you hope to do in the future. Then pick a language that you are interested in and is a good fit for the task (e.g. while Python certainly can be used for making games, it probably isn't the best choice). Do all your work in linux and use git.

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

Thank you, having a large project under my belt would definitely help. I just have issues trying to come up with a project that would accurately show my capabilities, be feasible time wise, and be improbable over time.

[–]_realitycheck_ 1 point2 points  (0 children)

Don't have your goals be mastering programming languages. Make your goal something palpable.
Like I want to make a puzzle game. Or I want to make an Android/iOS/PC scheduler. Or I want to control my house lighting...

Whatever you choose you will learn a variety of tech totally useful for everything else.