Jump to content

Programming Language(s)

Justin092

Hello,

 

One question I've had, is how many programming languages do you know(use the most/use for work)? 1, 2, 3........20?

Also aspiring to transition into software development, what is recommended, amount and which ones? I plan on going to my local Community College, whom as far as I can tell, teach mainly with Java, C++/C, and there may be others(unsure).

 

EDIT: Also on another note, should I also dive deeper into website design? I can already modify, and setup website, but I cannot for example may a plugin or use PHP. Not sure if that's recommended if I plan on Game Design/Application Design.

 

Thank You,

Justin

Edited by Justin092
Carification
Link to comment
Share on other sites

Link to post
Share on other sites

Don't worry about how many programming languages you "know" or even which ones - once you understand the core concepts  transitioning between languages is fairly easy. A CS course doesn't just teach you how to write in a specific language - those are just tools to explore a concept.

 

Personally I've had some experience with about a dozen different languages but the ones I'm most comfortable with right now are Python, C, C++, Java, Kotlin, Erlang. I've also been exploring Rust and I plan to continue as soon as I have the time.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Justin092 said:

One question I've had, is how many programming languages do you know? 1, 2, 3........20?

How do you define when you know a programming-language? For example, Java, Javascript, C# etc. resemble one another so much that if you know one, you'll quickly get up to speed in another as well. Function-names, parameters to functions and such details differ, but the basic concepts, like e.g. object-oriented design without strongly-typed variables, automatic memory-management with garbage-collection in the background and so on, are the same.

 

Personally, I can only say I can get up to speed in most programming-languages in a couple of days. I just wrote a Firefox-extension for myself, for example, without any practical experience in Javascript before-hand and it took me two days -- including the time to learn how all the Firefox's extension-stuff works.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

Most languages today use a syntax similar to C, so usually once you're comfortable in one of them, it's usually fairly easy to move to another.

 

Trying to memorize every aspect of the language you use is imho a complete waste of time.  The parts that you use most often you'll naturally start to remember.  More important than having them memorized is using them correctly, to make sure you don't unintentionally introduce a bug or security problem.  To that end, it's more important you know where to find detailed documentation on whatever language/library you're using.

 

A really good example of this for C/C++ is http://www.cplusplus.com/, which not only contains tutorials, but a reference of the various functions in the C/C++ standard libraries.

Finding sites like that should be one of your first goals whenever you start using a new language/library.

 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, JacobFW said:

Most languages today use a syntax similar to C

I wish ... :)

 

18 hours ago, Justin092 said:

how many programming languages do you know? 1, 2, 3........20?

Define "know". I have used notably more than a dozen programming languages in my lifetime, but I couldn't write a non-trivial application without reading the handbook in some of them.

 

18 hours ago, Justin092 said:

what is recommended, amount and which ones?

Try to be as flexible as possible. Make a list in your mind about possible use cases, look for the best languages for those (a.k.a. the best tool for the job) and try to use them consequently. I mean, I like to use C for everything that's not a script, but I'm weird.

 

Examples:

  • Perl is good for text processing.
  • Lisp is good for list and/or database processing.
  • Delphi is good for Windows GUI applications.
  • PHP is good for web applications: if you don't know the environment, it will probably have PHP.
  • C is good for desktop, server and web applications. ;) 
  • Kotlin is acceptable for Android applications.
  • JavaScript is your only choice for client-side code in web browsers that works with the DOM.
  • Python is good for adequate for not good.

Never assume that one hammer will fit all nails.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

Having mastery in a language != knowing (being able to code) a language. I know a lot of languages, but now there are maybe 3 or 4 that I use regularly, and there's just 1 I could claim to have mastery in, and even that's debatable, since I'm no longer a developer by title or occupation, I don't code as much as I used to. Some habits are just lost to time.

Link to comment
Share on other sites

Link to post
Share on other sites

I wouldn't worry about how many programming languages you know. Being a programmer isn't about memorising everything about every language. Pretty much every single programmer copies blocks of code from Google or even from other programs.

 

TLDR; Don't worry about it. :D

Link to comment
Share on other sites

Link to post
Share on other sites

Knowing many programming languages is not as relevant as knowing how to build what really interests you.

If you're not interested in web design, you don't really have a reason to learn HTML, CSS, JS because you're probably not going to work as a web programmer/designer. 

 

I find that most useful is knowing how to learn new skills in programming, therefore the best way to get better at programming after you've learned your first language is building cool personal projects in areas that interest you. Say I want to make a google drive-style storage server as a project, I have a good opportunity to learn languages that are related to the topic like Python or C++.

 

TL;DR: Don't worry about learning a plethera of languages, instead focus on what interests you and the more you learn the easier it will become to widen your skills range.

Link to comment
Share on other sites

Link to post
Share on other sites

On 7/24/2019 at 11:03 AM, WereCatf said:

How do you define when you know a programming-language?

 

I would say you "know" a programming language once you've built working apps in a production environment. A lot of the responses for this question are "who's to know, yadda yadda", but if you've used a language effectively, then you know it.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, elryry said:

in a production environment

Alas, a lot of people do programming without it being their job, so they never end up doing so in a "production environment" and, yet, there are a fuckton of those kinds of people who definitely would still qualify as knowing a programming-language. I'm going to argue that writing code for a "production environment" is irrelevant.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, WereCatf said:

Alas, a lot of people do programming without it being their job, so they never end up doing so in a "production environment" and, yet, there are a fuckton of those kinds of people who definitely would still qualify as knowing a programming-language. I'm going to argue that writing code for a "production environment" is irrelevant.

 

Would you qualify someone with no real world experience (you called it "their job", but Open Source developers frequently work in their personal time) as experienced in a programming language? Using Python to move files isn't experience in my opinion (experience and exposure are not fully equal).

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, elryry said:

 

Would you qualify someone with no real world experience (you called it "their job", but Open Source developers frequently work in their personal time) as experienced in a programming language?

Yes, I would. They may, for example, have a job as a construction-worker but do programming in their own time and only contribute little or none at all to any public projects. They may still have tons of knowledge and skill when it comes to a programming-language.

Hand, n. A singular instrument worn at the end of the human arm and commonly thrust into somebody’s pocket.

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, WereCatf said:

Yes, I would. They may, for example, have a job as a construction-worker but do programming in their own time and only contribute little or none at all to any public projects. They may still have tons of knowledge and skill when it comes to a programming-language.

In which case they have likely never had their code peer reviewed (this is huge in growth) and they are likely to have never worked on performance optimization. I would not, personally, say that person has given themselves a fair chance to "know" the language. There are likely edge cases to this, but I wouldn't consider this a norm.

Link to comment
Share on other sites

Link to post
Share on other sites

On 7/25/2019 at 1:54 AM, Justin092 said:

One question I've had, is how many programming languages do you know(use the most/use for work)? 1, 2, 3........20?

 

 

Learn a new language every year. 

 

Seriously, the languages I *use* use are ... Java, Javascript, Python, and /bin/sh

 

But I make sure that at least once I year I've taught myself at least the basics of a new language, and written something in it even if trivial and throwaway, Also including the stuff I learned at university that list expands to:  C, Pascal, Smalltalk, Miranda, Basic, Ruby, SQL, Ruby, Perl, Objective-C, Swift, Kotlin, Go, and Scala. There are probably ones I've forgotten. And that doesn't include things like YAML or TeX.

 

Haskell's on my list for next year.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×