Across this vast Fediverse, I have encountered a trend of people answering questions with esoteric programming language speaking in tongues that I don’t understand, including under my own posts. I am a Boomer when it comes to coding and I am only 27. I don’t even know where I would start to learn it because programming is so diverse. I want to feel like I know what’s going on but I don’t. Coding is the future and the future is now and I am lagging severely behind. I guess I’m asking where a bumbling novice like me can learn more about where to start when it comes to programming.
I’d actually start by playing around with the automation and customization functionality you already have. Learn to set email sorting filters, get some cool browser extensions and configure them, maybe even start by customizing your windows preferences or making some red stone stuff in Minecraft.
Computers are just tools. Programs are just stuff you tell a computer to do over and over again. All the fancy programming languages give you really good control over how you talk to a computer but I’d start with the computer equivalent of “Me Tarzan, you Jane.”
What language would that be?
I’m not talking about any particular language.
Modern programming languages are as complex as natural languages. They have sophisticated and flexible grammars. They have huge vocabularies. They’re rich enough that individual projects will have a particular “style”. Programming languages tend to emphasize the imperative and the interrogative over the indicative but they’re all there.
Most programming languages have a few common elements:
Some way to remember things
Some way to repeat sets of instructions
Some way to tell the user what it’s done
Some way to make decisions (ie if X then do Y)Programmers mix and match those and, depending on the skill of the people involved, end up with Shakespear, Bulwer-Lytton, or something in between.
The essence of programming is to arrange those elements into a configuration that does something useful for you. It’s going to be hard to know what kinds of useful things you can do if you’re completely fresh to the field.
Python and Javascript are great. The main reasons I wouldn’t recommend them for an absolute beginner is that it takes some time to set up and, even after that, there’s a bit of a curve before you can do something interesting.
If they go and change configuration settings in an app, they’re learning to manipulate variables.
If they click a “do this N times” they’ve learned to create a loop.
etc.They aren’t talking about a programming language, just the graphical tools in the programs you already have.
If you are interested in simple automation for your computer, learn python. If you are interested in simple automation in a browser, learn JavaScript.
I don’t know what needs to be automated though.
I will tell you there is no need to be worried about coding. You don’t have to be worried about not knowing how to code. The coding part of coding is the simplest and the easiest part, the much much more important part is the thinking part, basically what you want to achieve and how you should go about it.
A lot of so called professional “coders” don’t know what it is that they are doing. A few days ago i looked at my sister’s very impressive code. That was truly a hard day, the ways in which I controlled myself by not beating the shit out of her for being a piece of garbage who is incapable of thinking. She would not understand even when explained in simple words why her code was incredibly shit and what to do to fix it, finally she didn’t fix it and left ruining more than just my day, she sent me into a trance worrying about the future of mankind as a whole, which I have still not been able to come out of.
Also as far as coding is concerned I would suggest you get started with python. It is easy and simple. Learn the basics in python, for majority of the things you will have achieved your desire.
I suggest that you use the book
automate the boring stuff
as a starting point, it will not only help you with your desire for coding, but may also come out to help you in your day-to-day things as well. You can easily find the pdf for free.You sound like a lovely sibling…
You don’t understand, if she wasn’t my sibling, it may as well have resulted in a fight.
This code was for a company, not a I’m learning and am just a beginner kind of thing. Let me share a few details about the code:
The program involved reading a csv file and doing some operations from the data it provided. It was a python program in a jupyter notebook (this is very relevant).
- She had to create an array of the column names of the table. Her “solution” was to first print the table, then copy paste the column names into an array. When I told her to fix i pointing out the incredibly basic reasons for why not to do that, she refused. Also the table had like 10-15 columns.
- She was using pandas dataframes, even having a variable called
df
in her code, also using the functions it provided. Now it will come as a surprise to you, as it came to me she doesn’t know what a dataframe is. - The reason she showed me her code was because she was getting an error which she didn’t know how to solve. The issue was that the array of column names she created and the column names in the table didn’t match. This was because when she printed the table the column names were missing
_
which were present in the CSV file. One of the reasons for not not doing the first point. When told of the issue she added the_
manually. She will die on that hill. - So in jupyter notebooks you have cells in which you add a small slice of code and you run the cell. This is really amazing. Small issue though if you close the notebook and open it again you need to rerun the cells in the correct sequence again, barely an inconvenience . To overcome this great issue, my sister just didn’t do something stupid like having all her code in one cell, she was one step ahead, she had all the things she needed per cell copy-pasted. That God forsaken array of column names? You guessed it there were atleast 10 of them.
Now if she was just starting out, these could probably be forgiven, but she has been “coding” for atleast a few years now. Also she refuses to learn her mistakes.
Another interesting thing I noticed was, if she didn’t know something she would not search Google but rather YouTube. I originally thought she pasted some of the code from stackoverflow which has error, but no she looked at a YouTube video copied the code by hand and that code still resulted in an error because
char
andint
are different, she doesn’t understand why it works in the video (same type), and why it doesn’t work for her.I am clearly still in a shock about the whole situation and to think someone would hire her only if it is for an internship still, I pray for the world.Seriously, what the fuck?
I got you fam
Free course, C# is a genuine pleasure to work in/learn. Runs in all OS environments, and is probably the most modern “general” language
Only way to learn is to start learning
Is C# really that nice to work in? I’m looking to expand my horizons past JS now that I feel fairly comfortable with one language.
I always prescribe learning Python over basically any other language (unless you’re gonna start doing some real low-level computating). It’s a much more relevant and popular language. C# isn’t irrelevant, you’ll just see Python used way more often. Python will also compliment JS much more.
It’s basically a cleaner, more concise version of java. It’s a good choice to study if you want to learn something very different from JS but with some familiar syntax. These days you can also run C# anywhere, so it’s very useful for app development.
C# is my primary language, so I’d certainly recommend it. It can be a little daunting to get into because it is a large ecosystem of tools, so you might want to watch some videos and keep things simple for a while.
For work I mostly use it for APIs for web sites, that might be a good place to start if you’re familiar with JS/TS front-end work. From there you might want to try Razor or Blazor for handling web UI work in C#. I’m not very experienced with that aspect of it, but it’s mostly been a positive experience (TBH I kind of prefer React, but I’d need to spend more time on the Razor/Blazor side to have a strong opinion).
The desktop development side in C# is kind of a mess at the moment. Maybe stick with web until you’re feeling pretty comfortable with the language.
Yes, it’s nice and worth learning, especially if you try at both highly abstracted code and performance sensitive projects. Don’t get stuck thinking in c# though. Its brand of strict oop seems to be getting less popular these days.
You can write fully functional code in C#! I pretty much made the switch over and it works great
Don’t mind me, just saving this comment too.
Lemmy allows you to save a comment without commenting btw. Just click on the three dot menu and then click the star.
Oh, I know. I was just saying that to tell them that their post helped another person.
Oh my bad then, ignore me hahaha.
We could never ignore you bro!
Do you know how to do this on Memmy?
Also on Memmy and don’t see an option for this yet. Would be a great addition
Okay, C# is a music note which links with my fondness of music theory. Kewl.
Smh, you’re not even dumping them into Linux from scratch to learn C++ yet!
Hehe baby steps!
Fuck it, let’s go deeper: How to create an OS from scratch {using assembly language}
The first language I learned is C# and it sparked that interest that got me the job I’m in now!
I see other people recommending Python for beginners because of the simpler syntax (the way you write the code) but I’d still recommend C# because although the learning curve is a little steeper you’ll find it MUCH easier to learn pretty much any other language you choose. And even if you don’t choose to learn another language, you’ll still know a good (and fast) general-purpose language!
This. I love me some python, but it’s so unstructured (and by that I mean more how the structure is based off spacing), I actually think it makes it harder to learn vs. easier.
“Bracket” languages let the learner get a feel for when a piece of logic ends, which I think is important to learn at first. Also, C type languages, ESPECIALLY C#) are everywhere, depending on the field you end up specializing in you probably have a 90+% chance of needing to know one of these languages.
Seriously, there is nothing wrong with python, but I think the easiness of it actually works against learning to code (imho)
No one has mentioned it from what I can see but I highly recommend the courses provided by https://www.mooc.fi/en/. It’s the university of Helsinki and it’s completely free. They offer both Java and Python courses. I believe they have an introduction to programming course that is done in Python.
Coding is the future
Yeah according to coders lol
Fediverse just skews tech heavy. The average person doesn’t even know what a file is.
I am a Boomer when it comes to coding
Hey, OP, I think it’s cool that you’d like to learn to code. I made my living as a coder for many years and it’s a good career path. But I would not say it’s an essential life skill and the vast majority of people of all ages get by fine without coding skills.
With that out of the way, I’m going to defend the honor of Boomers here. Boomers (and the Silent Gen before them) built the technology industry as we know it today. For example, here’s a list of popular programming languages and their inventors:
- Java: James Gosling (1955) - Boomer
- C: Dennis Ritchie (1941) - Almost a Boomer
- C++: Bjarne Stroustrup (1950) - Boomer
- C#: Anders Hejlsberg (1960) - Boomer
- Python: Guido van Rossum (1956) - Boomer
- PHP: Rasmus Lerdorf (1968) - X Gen
- Perl: Larry Wall (1954) - Boomer
- JavaScript: Brendan Eich (1961) - Boomer
- Ruby: Yukihiro Matsumoto (1965) - Cusp of Boomer/X Gen
- SQL: Raymond Boyce (1946) and Donald Chamberlin (1944) - Boomers
- Go: Robert Griesemer (1964), Rob Pike (1956) and Ken Thompson (1943) - 2 Boomers and an almost-Boomer
<Adjusts onion>. Thank you for your indulgence.
I didn’t think computers ran on anything but steam back then.
Mine was powered by hamster wheels. The damn wheels squealed all day long - drove me crazy. Not to mention the feed bill.
What are these answers…
Wrong place to ask, but whatever.
It depends on what you want to build. If you’re not sure, start with Python. It’s likely easiest to pick up and get running. There’s a book called “Automate the Boring Stuff.” I think there’s an online version. (Edit: link - https://automatetheboringstuff.com/)
If you don’t want to set up Python (or any language, really) on your computer, there’s a tool called a REPL that you can find online. So you can just search “Python online REPL,” and you’ll get a functional online environment to code. Now, you won’t be able to do stuff interacting with your local computer this way, like reading files, but it’s good for learning the basics of the language.
In terms of software for writing code in on your local computer, Visual Studio Code (NOT to be confused with Visual Studio) is a free, lightweight code editor. It supports every language via plugins.
If you do go the Python route, make sure to learn about virtual environments before you do ‘pip’ or ‘conda’ anything. Also, unless you’re doing data science things, stick to pip. (Maybe some personal bias there, but I hate anaconda.) If you’re starting from nothing, it’ll be awhile until you get there anyway, so don’t worry too much about it.
Most importantly, find a community that welcomes new learners. Learning to code is absolutely fucking brutal, so having supportive people available makes a world of difference. Bonus points if you can find an offline meetup in your local area.
Python is the way to go for any newbie imo. Js has too many weird pitfalls that don’t make sense when first starting out
Also if you’re looking to make a job out of it, Python will lead you to job opportunities that are imo much more satisfying than JS.
So you were born in 1996, but the part of your brain that handles coding was born in 1966? How is that possible? Do you even know what a boomer is?
Boomer is slowly evolving into Luddite in it’s usage if you were not aware.
That’s a lazy answer for being wrong. Seems like you knew the correct word all along, but decided to use an ageist pejorative instead, and now you’re upset for being called out on it.
Ok Boomer 😎
Wow it must be incredibly irritating being so pedantic. At least for everyone you interact with. But you’d think someone so hyper fixated on accurate language would know what a metaphor is.
Then the grizzled old curmudgeon bellied up to the bar and said “ONE WORD. BASIC.”
And everyone else in the room pointed and laughed. But I still like it. shut up.
cumdungeon
I’ve been coding for 40 years, it’s both my job and my hobby, and I still feel old and out of touch when reading or taking part in coding conversations outside of my sphere :)
This is not meant to be discouraging - even the smallest amount of coding you could learn will be immensely rewarding - more to say that coding is vast arena with a breadth of complexity that can often feel overwhelming. So don’t be put off when you teach yourself some JavaScript and then still feel adrift in a conversation about C#.
I don’t have any specifics to recommend, but I would say that you should start small. Don’t aim to write the next Flappy Bird as your first project, or the next Mastodon. Just concentrate on making a web page say “Hello world!” or changing the colour of some text. Back in the 80s, most kids got their first taste of programming by having a computer shop C64 print “Dave is rad!” on an infinite loop! :)
Good luck!
You should start here directly in the future:
You may not have seen this before because it is so new.
Actually, if you are a Boomer this should be your starting point.
I am a Boomer when it comes to coding and I am only 27
Do you realize that boomers are the ones who literally made the Internet?
No one is a boomer when it comes to coding.
deleted by creator
Now all they do is fart and complain about the TV being too loud.
Growing up post-internet shortens the generational memory, thoughts are limited to 160 cognition units. Everything relevant to modern life has been SEOed to the foreground, actual history can be safely ignored.
Now I’m a boomer in my mid-30s.
Hey, language evolves with time, Boomer is becoming synonymous with Luddite.
Is this the right place to ask?
Maybe less that it isn’t the right place to ask, it’s probably not the best place to ask. Maybe try somewhere like learn_programming@programming.dev
I’m not a programmer so I have avoided any instances that have to do with computer science.
There’s lots of good advice here!
Don’t learn C/C++/Rust. They’re great languages but you’ll get stuck learning things most experienced programmers don’t understand and you’ll get discouraged.
Python/C# are both great options!
If you want to do mobile development, you might try Kotlin (for Android) or Swift (for iOS).
The trick is just to learn one language, to learn general programming concepts, then learning another in the future will be a lot easier.
You can learn a lot from following online tutorials, YouTube, etc., and you can find communities for each language too.
Also you don’t need to learn to program, there’s a lot of other good skills you could learn. (I keep trying to learn to draw or 3d model, and I just can’t do it lol).
Software engineering nowadays is really complex. There is no way you’re going to know what’s going on, nobody is.
It’s just the more experience you have, the easier it is to figure out what’s going on. If you want to learn coding, just start coding.
I will start from something no one mentioned - start with Linux. Windows has its own very “special” ways of compiling stuff, while Linux is very simple. If you start on Windows, you’ll probably use IDE which will set up everything for you (cause setting up thing in Windows is messed up), and it will still be a black magic for you how the code transforms into binary.
Many people recommend python, but I would start with C (not C++, C++ sucks). It will give you the understanding of basic concepts like memory management.
Then start using something like javascript, which will get you wide range of libraries, which you can use to build anything.
Then at the end learn how infrastructure works, how are services communicating with each other, how to put your server to the public, learn Docker, set up reverse proxy, run stuff in cloud.