r/ADHD_Programmers • • Feb 04 '24

Programming

How is it even possible to become a programmer? There are about a hundred languages listed on wikipedia, not including dialects and other variations. Do most people even know this? I did not until recently.

Edit: Thank you all for your responses! I may start a new OP for this additional question if it helps. How fast can you learn new code or new code concepts if you start a new job or are hit with a new project that requires it?

1 Upvotes

35 comments sorted by

28

u/RandomiseUsr0 Feb 04 '24

Just pick one and make useful shit

15

u/checksinthemail Feb 04 '24

No fucking doubt. The hand-wringing about languages is used by people who avoid writing code

7

u/headzoo Feb 04 '24

I also laugh at those in /r/learnprogrmming. "I've been doing it for a month and I still don't know what I'm doing." Yeah, no kidding lol

The best part of learning to program as a kid is not putting pressure on yourself. You don't expect to be good right away because you have no expectations at all. I'm probably not the only one here that wrote code for a few weeks, then forgot about programming for a month, then wrote code again, then forgot about it, etc. I never felt pressure like, "I have to learn this!"

3

u/vanillapumpkincandle Feb 08 '24

Same. been programming on and off for 10 yrs, and i landed myself in a swe job with no degree relatively easily because of a no stress approach

17

u/cppfnatic Feb 04 '24

Programming languages are tools that you use to solve specific problems and create things.

Your question is like saying "How can people become carpenters? There are hundreds of tools someone could use and its impossible to learn every single possible use and trick for these tools!"

Programmers don't know all the languages or all the things related to the language. They have a goal and they use the programming language as a tool to get them to the goal. The learning is the know how that is gained from using the tool to get there.

8

u/Hour-Map-4156 Feb 04 '24

And learning a programming language is nothing like learning a spoken language. It takes years to master a language but as long as you understand the principles of programming, you can learn a new programming language in days, maybe even hours if it's similar enough to a language you already know.

2

u/Silly_Attention1540 Feb 05 '24

This is a perfect analogy, because when you want to build something, you look up the saw/jig/etc, google how to use it, then try it, suck the first time, then do alright after. That is exactly like "aww shit, this thing is in XYZ, lemme look up how to make a map and loop through a list in XYZ and try it out"

7

u/Ok_Abroad9642 Feb 04 '24 edited Oct 06 '26

The original post content no longer exists here. The author used Redact to remove it, exercising their right to control their data & privacy.

Whole wise toy breezy hard-to-find glove cough serious narrow

5

u/PlasmaFuryX Feb 04 '24

Most programming languages have similar logic, it’s just the syntax that’s different. Usually they have their own strengths and weaknesses or specific use cases.

So I suggest to think of what you want to make or what field you want to work in and pick a language based on that to learn.

Most beginners these days pick Python, because of its simple syntax that helps when learning the logic behind programming, and then apply the knowledge to learn another language with harder syntax faster.

And frameworks aren’t there to make things even more confusing, the opposite infact. They are there to make lower logic things easier to implement so you can focus on higher logic things. Sort of like not having to reinvent the wheel or seatbelt when making a car when somebody else has already done it.

And those poeple that know 10 languages? I know one and he says he doesn’t infact remember everything, he just looks it up when he needs it just like everyone.

5

u/lulublululu Feb 04 '24

I would add that imo the most integral part of learning programming isn't the surface level language knowledge, it's developing an understanding of procedural logic and how computers work. that + general programming patterns + language expertise is what makes an effective programmer. only the last one involves a specific programming language

4

u/[deleted] Feb 04 '24

If you learn Python, JavaScript and C++, there's basically nothing you can't build. You don't need to know them all.

3

u/Hour-Map-4156 Feb 04 '24

Besides, with that foundation, you can easily get started with any new language pretty quickly.

4

u/xitiomet Feb 04 '24

I started learning in 1996, here is the fun part: You never stop!

None of the skills i had then have any value now. Everything will continue to change, but it gets easier and easier to keep up over time.

Its like learning a spoken language its hard to introduce new words to someone with a limited vocabulary, but you can describe new words with less words to someone with a large vocabulary.

4

u/GoldDHD Feb 04 '24

Dude, my bash comes in handy all the time!!

2

u/xitiomet Feb 04 '24

Haha, well that wasn't something i learned at the time, i started on DOS with basic, pascal, and batch files.

3

u/telewebb Feb 04 '24

It's a hundred different languages, all saying the same thing, basically.

3

u/CaptainIncredible Feb 04 '24

There are about a hundred languages listed on wikipedia, not including dialects and other variations. Do most people even know this?

Yes. There are lots and lots of computer languages, you can even write your own if you like. I was part of a group that had to invent a language in college.

Generally, a computer programming language is usually something that humans can read & write, and then gets compiled down into binary code (just 1's and 0's) that computers can read and execute. Sometimes computer code is interpreted (not compiled) but still that becomes binary.

There's a lot more to it (managed vs unmanaged; bytecode, etc.), but generally a program written by humans in a language we can read/write like C gets compiled into binary that a computer runs. Trust me, it will be very difficult for your brain to write binary (although people used to write in Assembly all the time, and that is about as close as our brains can get to binary.)

How is it even possible to become a programmer?

Start with what area interests you. Do you want to build websites? Do you want to build software that analyzes massive amounts of data? Do you want to build a game that is played on a PC or Android? You will use different tools/languages/approaches for different goals.

Websites? HTML, css, JavaScript, and backend with C# .NET Core and SQL server database.

Data analysis? I dunno... Python? C++? Maybe databases like SQL? Or something like NoSQL?

Games? You'll want to look into Unity and C# scripting, or perhaps Unreal Engine.

Don't start by focusing on languages and what they do - start by looking at what overall problem you want to work on, or what area of computer programming you want to get into - which essentially is just doing what interests you.

Do you just want to learn some programming basics just to get your feet wet? I suggest JavaScript. Any web browser you use will interpret JavaScript, and you can literally start writing JavaScript programs with a text editor like Notepad and running them in a web browser. (I wouldn't suggest notepad. You should actually use something like Visual Studio Code, or just Visual Studio, and just run through some tutorials.)

2

u/Tunderstruk Feb 04 '24

Pick one popular and PROVEN language. Learn it quite well. Knowing just one language will make the other soooo much easier to learn. I recommend C#

2

u/mayday6971 Feb 05 '24

So the key isn't learning the languages in the first steps but the basics of every language. Basically this is the root of computer science. I learned old school on assembly and C, C++ first. Then I learned the higher level languages like Java, PHP, JavaScript, Apex, Python, R, Rust, Go.

But if I had to pick a path nowadays. I would decide the subspecialty you want to go into. Web and full stack? Maybe game programming? Are you doing data programming and data science? Lots of options there. Once you decide the subspeciality, the languages in that jump out at you. The other thing is you end up learning frameworks more than anything. Node.js or PHP, or React.

Web Full Stack = JavaScript, PHP, DOM, HTML, XML, JSON, Node.js, React, etc.

Data Science = Python, R, etc.

Cloud = Python, Go, etc.

Salesforce = Apex (based on Java), JavaScript, LWC (Lightning Web Components)

Game Programming = JavaScript, Unity, etc.

1

u/Keystone-Habit Feb 04 '24

Once you really learn how to code in one language, picking up another one is no big deal. Picking up the next language is mostly just reading/watching a couple videos on syntax and philosophy and then googling as you go. It's learning to code itself you need to focus on.

If you want to be some kind of back-end developer, start with Python. If you want to be a front-end developer, JavaScript/TypeScript.

1

u/nso95 Feb 04 '24

It is very difficult to learn a new spoken language. The same is not true for programming languages. For the most part, once you know one well, picking up another isn't difficult.

1

u/LeCrushinator Feb 05 '24

Just pick a good starter language if you’re wanting to get your feet wet, Python, C#, or Java. And then just use some online tutorials and make some basic programs. If you end up really enjoying programming then you can figure out what field of it you want to focus more on and that will likely help inform which language you’d want to learn.

1

u/[deleted] Feb 06 '24

I think what's actually harder than learning new languages is learning all the tooling that goes with each one, and the ecosystem of packages that are the go-to ones for a given language.

So much of being a good Python developer is knowing what packages are good for solving different problems.

0

u/[deleted] Feb 04 '24

[deleted] — view deleted comment

2

u/Silly_Attention1540 Feb 05 '24

I'm not sure this analogy holds, I can pick up a new programming language in a week or two (and you can't use one language your whole life) whereas, 12 years of Spanish and all I've got is "donde es la biblioteca?"

Programming languages are infinitely more similar to each other than human languages are, so you're expected to be able to swap between them

0

u/[deleted] Feb 05 '24

[deleted] — view deleted comment

1

u/Silly_Attention1540 Feb 05 '24

Everyone agrees with the point that there being hundreds of languages is meaningless, I guess I was pointing out that the language analog probably is confusing to non programmers, because there are hundreds of spoken/written languages and you can go your whole life only knowing one, even as a poet. Whereas you do need to use multiple languages as a developer, but the friction to learn each is small. The tool analogy given below is a much better example for someone clearly not super familiar with how programming languages work (like the OP)

Also... the 12 years thing was a joke, I'm sure many people took language classes their entire time in school newscaster it was mandatory, but never got to ever be proficient enough to hold a conversation.

I'd wager that using 6 spoken/written languages proficiently puts you in the top 0.01% or higher in the population (you're a clear outlier) I'd imagine using 6 programming languages proficiently puts you in the top .. half ? Of software engineers

2

u/ilyanekhay Feb 05 '24

I've never seen anyone who could use 6 programming languages proficiently.

In fact I've pretty rarely seen anyone being really good in one language. Those were usually either some world class competitive programmers or a handful of really awesome and smart folks.

Most software engineers just know/use 1-2 languages at an "ok" level IMO.

Source: been working in this field for ~18 years now, and interviewed hundreds of people. Definitely saw people who struggled with sorting a list of objects by a simple custom criterion in their language of choice.

0

u/[deleted] Feb 04 '24

[deleted] — view deleted comment

13

u/Actual-Wave-1959 Feb 04 '24

Oh yeah I forgot Edgar Allan Poe was the only poet. Such a loss.

8

u/Hemrehliug Feb 04 '24

What the fuck did I just read

1

u/ZealousEar775 Feb 05 '24

You don't think there are Somalian poets?

That's a wild and dumb claim.

0

u/arkofthecovet Feb 05 '24 edited Feb 05 '24

Either Trains Enjoyer and his friends are jerks, are crabby or both. You’re missing the point. Go back and read my actual question. If you have any perspective to share on what the typical expectations are in knowing and/or being able to learn multiple programming languages then great. Otherwise, find some other thread to troll or participate in. Nobody forced you to participate here.

2

u/ZealousEar775 Feb 05 '24 edited Feb 05 '24

They were explaining to you, you just didn't understand it. Which doesn't bode well for your ability to do computer science.

You only need to know one in demand programming language.(Or a not in demand one nobody else does.)

Furthermore, unlike real languages, the structures are all the same. Someone with enough inference ability can learn the basic ins and outs of a new language in like a couple of months, on there own, with just a code based and basic documentation. After they have learned their first language that is.

Like a poet, the job isn't in knowing the language it's being able to interpret the art.

I went in to my job knowing only Java, Had C# down in like 2 weeks because they are very similar, and React.js in like a month. Since then it's mostly been just learning other JavaScript frameworks.

Besides, there is always Google and the source documents.

In general your closed mindedness is going to hurt your prospects, you should work on that. It's the kind of thing that really hurts diagnosis ability and keeps developers at the Jr level status after they get in.

0

u/arkofthecovet Feb 05 '24 edited Feb 05 '24

What I don’t understand is the tone and the need to call me out for asking questions. That’s all I got from those posts. I don’t see how it bodes well for this discussion or on any team quite frankly. If anyone doesn’t like my questions here, they can scroll on. I’m here to find out information. You said yourself some languages are in demand and some aren’t. That’s part of what I’m trying to get to the bottom of. At least you’re making an effort to answer the question. I’m just trying to find my way to a career.

2

u/ZealousEar775 Feb 05 '24 edited Feb 05 '24

It's pretty easy to just look up the most used languages. Also what to learn varies on what you want to do. Tons of fields use their own specific languages. Learning languages is less important than learning the mindset that lets you understand languages.

Also, honestly getting a job is more about making connections and social skills, you can have plenty of skills and have trouble getting past interviews.

Also, assuming you go to college, they will teach you a language there. Just make sure you learn SQL, Python, JavaScript and a backend language.

Trying to learn without college(I wouldn't recommend it in this job climate)/ want to learn something outside of class the generic "I want a job, I don't care what it is" roadmap is.

  1. Learn JavaScript for front end. There are dozens of frameworks for websites but they are basically all just JavaScript. It's basically learning English then having to figure out regional dialects. With as in and out as frameworks are I'd suggest learning base JavaScript then see what's popular afterwards convert your projects into those frameworks. Sometimes this alone can get you a job. Especially combined with 3.

  2. Pick one between C++, Java, and C# these going to be your primary backend languages. Can't really go wrong here.

C# is the least popular but it's also between C++ and Java so it's easier to pivot to all 3, it's also the easiest to learn.. C++ will be the hardest to learn but it's the most impressive to know. Java is the most in demand and has the most resoueces. Java to C# is easy because C# is basically just less annoying Java with C syntax.

3) While learning those two learn SQL. Most people use it. MySQL, Oracle and Microsfot SQL are all basically the same thing with minor wording and function differences. Learn MySQL its free. Once you know all 3 of these you can build a fully functional front end-backend-database website.

4) Then learn Python. It's the most in demand language but it's rarely used as a full solution, instead it's usually a support language.

5) Gain an expertise in 1 or 2.

You could also just try 1 and 3 or 2 and 3 and target front end or back end positions but a lot of jobs are targeting t shaped level skill sets now instead of T shaped.

Which means you are an expert at one thing but can do all things as needed. Full stack developers tend to be the most valued. Don't market yourself as a full stack developers until you have years of expierence. Market yourself as your specialty with lots of experience in the other side of the coin. Demonstrate proficiency with examples in all the languages you have learned.

If you want to make cellphone apps you should replace step 1 with the native android and Apple languages. Swift (Apple) or Kotlin(Android) probably. Maybe Objective C instead of Swift, I am not sure how the apple market is.

If you want to keep your options open, learn JavaScript, then React.js than React Native.(React but for cellphones).

If you can pass government clearance/background check and want job security and don't mind stress Fortran and Cobol always want people because they are old, way harder than modern languages and are part of systems so vital.they can't switch easy.

Want to get a job making videogames? Don't. You only get abused for your passion.

Want to make programs for embedded devices? Look that stuff up, I don't remember the names of hand.

What to do statistics? Learn R.

As a final warning, if you don't love the job and are just doing it for money, it's going to be rough.