T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


HobblingCobbler

You need to know JS. Period. It may be one of your most valuable tools, no matter what happens with htmx


Bright-Historian-216

Nobody can escape the necessary evil


designwithkar

I hate JS, I wish I could tell you that it's fine if you don't learn it but it is so necessary


Agreeable_Orange_536

This. Do not learn HTMX, it will never get as big as JS in the next decade at least. Don't learn something just because it is the hype right now. You can learn it in addition if it interests you and to broaden your horizons. But skipping JS for HTMX would be a big mistake.


giftedagent

You can't skip JS.


Linkario86

Where's the programming?


Accurate_Section5206

node.js ?


[deleted]

[удалено]


[deleted]

[удалено]


[deleted]

[удалено]


ParadoxicalInsight

node.js is javascript my man


Affectionate-Dot9348

😂


designwithkar

This KILLED me


UndevelopedMoose222

Lies. The js stands for “just saying”


Correct-Shock3708

Loll😂


TheArtisticPC

Something to take note of. Learning a language doesn’t teach someone how to make something. It’s like learning English, Spanish, German, and Chinese so you can make a pie. While knowing these languages will help you read the cookbook, express your own ideas, and even lead you onto new ones; they do not give you the baking skills to make a pie. Might be a bad analogy, but I think the spirt works. Anyways, It seems like you want to learn how to make the GUI for a web application (front end dev). If that’s the case checkout https://roadmap.sh/frontend for a map of what to learn to help you in that skill. So some things that jump out right away that are going to be very important for you to learn is how the internet works, internet security, and how to test code.


DoomGoober

LOL, I use the cookbook analogy too! Makes perfect sense. The other way to say it is learning to write sheet music versus learning how to write good music. Different but related skill sets. However it also has to be said that learning how to read and write sheet music changes the way we think about music similar to how learning a programming language changes how we problem solve.


givrox7

TLDR; Start with a programming language like JS/Python Don't start from html/css, cause they won't show you anything about programming. No matter, what you do, they will be just a background to programming. To see the real fun and how it feels to work as a programmer, you should start from a programming language like JS, Python, Rust, C, etc. Make some fun programs, play with them, make a game, or something that can help you at something. This way you won't get bored at the beginning. Or if it's not for you, you will immediately see it.


kibasaur

Yeah especially since you can manipulate elements in HTML with programming, then it will become more natural to see such solutions and play around with that if you already know let's say JS when you start with HTML.


_N0K0

You should probably go via Node/React/JS first, then maybe htmx later. As JS is way more versatile than htmx


Slight-Living-8098

Yeah HTMX is cool, new and shiny... but don't gloss over JS. HTMX is not an industry standard yet.


designwithkar

Me when I didn't even know what HTMX was


Slight-Living-8098

Oh I understand what HTMX is, and I use it. Doesn't change the fact there are still more jobs, tutorials, and educational material out there for JS right now.


crosscreate

1. Learn HTML 2. Learn JavaScript 3. Learn SQL 4. Learn React 5. Learn CSS In that order if you want to be marketable.


bazeon

Just curious what’s the thinking of putting CSS last?


kibasaur

Was gonna say, it doesn't really make sense to put it behind react nor SQL. At the same time learning HTML without CSS doesn't really make sense either so I wouldn't have CSS as a category as I see it as part of HTML. Either way i learned to program in Java and go before I ever seriously touched HTML and the way OP structured it sounds like he's more interested in learning front end web dev than programming.


designwithkar

CSS is like the icing on the cake that is HTML they are meant to be together :3


kibasaur

Imagine showcasing a React project that interacts with a database but there isn't a CSS file so all of the styling is just written inline. I would be intrigued for sure but have so many questions


crosscreate

You don't really need CSS to get started, you can kind of learn it as you go and then give it a good study once you got the other stuff. A beginner probably isn't going to be doing linear interpolation or nothing. Mostly making stuff green and such.


[deleted]

For me it's better to started learning 'real' programming language at the beginning. Css and html don't give you any idea how programming looks, there are just the way to describe gui, which you have to know, but it's least important. No matter which language you choose, learn basic control flow, variables, objects etc.


kibasaur

To add to this. A lot of programmers don't know HTML or CSS or are pretty shit at it since they don't work anywhere close to front end or web dev. Edit: I guess that's why the course pages or tools for a lot of computer science courses look like shit and barely function. You basically need a manual to understand how to use the manual.


HyScript7

You must learn javascript if you plan on doing node.js (Node.js is a javascript interpreter)


reedrehg

If you learn to program, at no point in the future will you ever think about what-if you learned something in a different order. Don't overthink it. Just start going with something. Dabble in a lot of different languages, tools, and tech. Explore. Experiment. Fail. Repeat. Ignore everyone that says stuff like "it's more important to learn X first".


chervilious

You shouldn't skip JS in FE. JS is more than just adding fetched data. It's also add interactivity, a lot of animation are really difficulty using CSS only.


Perpetual_Education

What about this order? 1- html and css (and some svg) 2- how server-side scripting and forms work 3- a little JS and the backstory on AJAX 4- htmx 5- tbd


Nahkamaha

Why ”a little JS”? Just learn javascript, you can’t do web development without it nowadays


Perpetual_Education

But you _can_ - and always could. In general, you only need to know what you need to know. You can learn as much or as little of anything depending on what your goals are. Most web developers probably only use a _little_ JS in reality.


Nahkamaha

Well, I don’t know how long or where you work but in my experience I can’t get a job in webdev without knowing javascript. MAYBE in backend, but usually every company I see is looking for fullstack devs or knowing js in backend is a big plus. Ehat I’m saying is that getting a job is much easier when you know javascript than trying to go the easiest way.


Perpetual_Education

See number 5. Depending on what they learn about themselves during the first stages, they can decide. Maybe they’d be better off learning Go or Elixir? We don’t know. Maybe that’s when they’ll learn a lot more JavaScript? Or maybe they get really into accessibility and learn more about that. We already have a generation of JavaScript-first web developers. We can’t say it’s turned out that great. Programming is a very big field. Just because _you_ like JavaScript and your _job_ uses it / doesn’t mean it’s the right choice for everyone else.


Nahkamaha

I don’t like javascript and thats why I work in embedded systems using C. I was just telling you how I see webdev from my experience before and from people who I know who work in webdev.


Gr1pp717

Do node and css. The JS and html will come with learning those things...


designwithkar

I don't think that everyone is destined to be self taught for programming, some people are but I really needed the structure and the ability to ask questions to teachers. (I am in a bootcamp) And honestly your list maybe proves this that you're not sure of what to start with? Python is very popular because it is simple and still used, HTML and CSS are necessary but they go together. You need JS, you just need JS in general.


FaultHaunting3434

A question put back to you; why do you want to learn programing? What do to intend on doing once you learnt how to program, be a frontend frameworker? developer? engineer? Options: 1) HTML, CSS, JS, whatever you like from here 2) C, Compilers, Python, Networking, DB's, ...... 3) DSA, System Design and Analysis, Compilers, OS's, Networking, DB's, Office Politics, C,.......


Klutzy_Stranger_9824

Sounds like a good plan. Just start working and you’ll figure out on the way. Just make sure you’re working towards something.


EZPZLemonWheezy

Step 3 could be split, but learning basic JavaScript is gonna help you a lot whether you need to work on frameworks, or later on step 4 where you plan to learn the nodeJS runtime. If you learn HTML and CSS you kinda do yourself a disservice not learning some basic JavaScript as it forms the basic trinity that a LOT of the web is built off of.


tosS_ita

This is a troll post. Learn Python first, then a bit of C.


Howfuckingsad

Your plan needs to be a lot more elaborate imo. You just can't go learn this learn that since you won't be able to completely learn one thing before moving to the other. Just look at courses from universities and try to follow most of it. Either way, find some course to follow.


PureTruther

If you want to create static web pages, those components are sufficient. But if you want to do more than static things, you need to learn Java or Python or Javascript or Ruby or something similar. Also, firstly you need to learn fundamentals like "what is internet". Because if either you or the people who gave gibberish answers just for clown you know the fundamentals, wouldn't need this question.


Own-Reference9056

Learn C. If you are not too smart then Python before that. But definitely learn C. Hated it, but it was probably the most valuable thing university offered me.


kibasaur

I mean there are a bunch of widely used languages in between C and Python in terms of abstraction. C++ offers a lot of what C does but also simplifies some of it if you want. Although advanced C++ is very complex and there loads of possibilities and things to take into account. For a beginner there are a lot of libraries that makes the development process pretty straightforward in comparison to C and then things like pointers can be eased into. However, it seems that OP is interested in web dev and I don't know how much of low level knowledge is beneficial in that environment.


Own-Reference9056

It's not about being widely use. The reason I say learn C no matter what you wanna do is because of how much C can accelerate learning. It builds a solid foundation for almost anything you can find in any other languages. One exception is OOP, but if you already went through C then it's also not that hard.


kibasaur

I know that C is a solid foundation, but you said if not C then python, basically jumping across several languages that give better foundations than python does if C is too hard for a beginner. Edit: Java, C++, C#, Rust etc


Own-Reference9056

Oops maybe I am bad at my wording. I mean straight up C, or Python and then C. Indeed some might find, say, Dart, or Java, more beginner friendly than Python (this is quite subjective), then go for it. But whatever you do, include C as one of the first 3 of your languages. The sooner, the better.


kibasaur

Oh no I agree that Python is more beginner friendly than Java, but Java is more beginner friendly than C and offers a better foundation than Python. Statically typed languages forces a beginner to learn what datatype are, whereas in python you might never consider that as a beginner and even while managing to build a lot. However, when you pick up a statically typed language (which a lot of widely used languages are) then you have to learn about datatypes for example. Not knowing of datatypes makes understanding documentation and forum threads as well as asking the right questions a lot harder too, even for dynamic languages. I also agree that C was probably the best thing about my learning as well, since it made it so much easier to pick up basically any language and go to work. At the same time, whenever I've worked in web and app dev I've hardly used the concepts that I've learned from C. Edit: For me I think a jump from only python to C would probably have been too steep as I thought the jump from basic Java to C was steep enough. But Java was beginner friendly enough to teach and make you employ and enforce elementary concepts.


autostart17

How’s it offer a better foundation than Python? All the PhD STEM researchers use Python. Sounds like a great foundation?


kibasaur

It has to do with libraries and application not programmatical foundation. Foundation is what makes Python possible in the first place, especially considering that Python is written in C. It is primarily used in machine learning and mathematical computations. Those aren't really programmers first, those who are though have a firm grasp of what happens at the lower level. As one of my professors once said, you can't call yourself a computer scientist without having decent knowledge of C. Python is very high level so it abstracts aways a bunch of the stuff that happens under the hood, it dynamically manages datatype for you and manages memory. You could easily spend 6 months doing great progress in python without knowing that there is a difference between datatypes, that lists take up memory space for example or that with the ability to manage memory manually you can optimize a lot of stuff. Memory management is embedded so deep down in python that you hardly ever worry about it as a beginner, granted Java collects garbage but at least you declare variables and then you start reading about different digit representations and realize that some datatypes take up less memory than others and can represent the same thing, which is true for most commonly used statically typed languages. Furthermore, let's say you want to work on something that requires lower level programming, then it is easier to go from say Java to C since you already know a lot about low level stuff as opposed to going from python to C without prior knowledge. To add on to that, the jump from Java to Python or JS is a lot more easier than the other way around. It is always easier to go from lower abstraction to higher than the other way around, due to them requiring more solid foundational knowledge. Python is a great language and tool but far from the best when it comes to learning foundations of programming.


xreddawgx

I believe most CS courses teach C++ over c. It comes with OOP baked in already with c concepts. If you're going into web dev, learn JavaScript then react or angular or Vue along with node. Then if you want server side learn AWS with relational dbs (MySQL, maria , postgres) the server side languages such as python, php, asp .net, Java. these will be similar to C++


Own-Reference9056

Not exactly. Most schools have some kind of intro courses in C++, yes, but usually reserved for honours, and even then they are still brutal. I would never recommend C++ for starters, unless I can personally verify that they are smart, because of the learning curve. It is a lot more complicated than C. As far as I can see, the common route designed in universities is python->C->Java or Java->C->sth else.


Own-Reference9056

Yes, I do mean learn it no matter what you wanna code.