I'm starting to lose faith in learning Programming!

The Issue that I have is that I can’t stick with one programming language, I go back and forth between the languages, for example, I learned some php then I switched to javascript to learn NodeJS then I went to python to learn django then I stopped and started to learn flask, now after useing flask for a while I feel I want to change too swift or another language, my issue is that I learn some of the basics and copy live examples from coursed and other youtube toutrials but I still don’t know how to apply what I have learned to my own projects, I’m still not comfertable wrtting code in my own, I don’ t know why but I even started to think that all the languages that I’m trying to learn are are hard and maybe I should switch to mobile development?

I don’t know what’s going on with me, but is this normal because I really started to give up :frowning:

Thanks

I know a good 8 programming languages.

It’s not so much switching between them that’s the problem.

It sounds like you’re having difficulty truly understanding the language (and more importantly, the library or classes) that you’re learning to use. When you follow a “live example” it’s a poor option because you’re learning how to accomplish a very specific thing. Some people can hack that apart and expand their knowledge from that, but others, I’d suspect you’re included in this condition, would rather understand the features of libraries and the language itself than learn how to write hello world to a Unix socket.

Based on your statement that you’re not able to apply the concepts to your own projects, first: I’ve found taht a lot of the python web tools are a pain in the ass. I’ve attempted to use twisted, I’ve attempted django. They’re both frustrating to no end and I wound up giving the project up.

How are you going about your projects? Do you sit down and break down the tasks before you even start writing code?

If I could suggest a change in process: One thing that helps me to write successful code is to start in a word document. Start by outlining what your program needs to do, then break down each task. Once you’ve broken down each task, break those tasks down even more until you have it down to a series of mathematical operations and conditionals. From there, you can write a program.


Here’s my question to you: Are you able to grasp the basic tenants that most programming languages operate on?

Object models, logic operators, variables, etc…

If you are, switching programming languages shouldn’t be a huge issue. The issue is not sticking it out once you’ve found a language that can do the job and finishing your project.

I switch between Python and JS a lot. (C people probably hate me right now) The reason I do so is that some things are better suited to be written in JS and some things do better in Python.

6 Likes

There are so many tools out there and so many ways to accomplish things. I also know several languages but I find commonality between them, so when I get started on a project I go the route best suited for the project. Don’t Give Up ! What you really need is a project to work on, you can find that easily. You can go through simplifying things you do on a day to day basis, to writing docstrings for projects. Joining a group to help complete a project and so on.

“Golden” :+1:

4 Likes

It might be a bit much on the whole “breaking it down” thing, but I find that if I’m ever in a jam, I get out a word doc, grab a whiteboard, get a change of scenery (literally going outside with a spiral notebook to jot things down on) all help me to get past something.

I’ve found that there has never been a “I don’t know how to do this” once I’ve either done the research or spent time breaking down the problem.

1 Like

I do exactly the same thing. (especially going outside) which is why I loved the comment. I am a former Artist/Graphic Designer, so spiral notebooks and blackbooks are a carryover I could not do without.

For example : why write an application meant to being highly concurrent in Python when simpler methods are available in Rust/Go/C++ etc. (Don’t shoot if I’m wrong :rofl:)

1 Like

Shots fired. :smiley:

I feel it though. I’m tempted to learn Rust/Go. I really need something with a python-esk feel that supports concurrency better. (if you’ve got a language that’s not a meme or Java/C++, hit me with it!)


It’s funny. When I was in school, I used to hate spiral notebooks because of the schoolwork associated, but now I love them because of the programming/creative writing associated. (Yep, the guy who got C’s in his english class started writing)

1 Like

I love Python, I highly advocate Python. I have written Python tutorials (on this forum as well) but there are things that it could be more performant on that Rust/Go are awesome at. Compilation times, the GIL argument etc etc. Rust/Go are in the C family as far as familiarities and should’nt be hard for you at all. Get a Linter for your fave editor and just do it !

Been lurking on this thread for some answers. Thanks @Miguel_Sensacion and @SgtAwesomesauce!

I’m having an issue of using a language that isn’t Python. I’ve gotten a little too comfortable with Python and am feeling rather lazy on learning new syntax. Admittedly, I’ve been trying to jump straight into C++. Maybe I should try something else? :stuck_out_tongue:

1 Like

Yep, linter is the most helpful thing ever.

As far as the issues for wanting to move away from python, I’m looking for something that handles concurrency a bit better. Might just need worker threads.

I started with C++ on embedded devices. Not easy, but it was a hell of a crash course.

I would definitely say it’s very doable, but not easy.

1 Like

Learn and master only a few programming languages, being a jack of all trades and jumping from one to another is just gonna cause problems, it might seem boring but in the end it will pay off when you can optimize everything properly and look at your beautifully bug free hand crafted code and drool.

Choose one.

All seriousness though, you’ve got a good point. specializing is definitely a good choice, but not everyone can do that.

1 Like

Yes, I understand the basics of programming, variables, loops, functions, classes, methods, and so on.
but the issue when I learned the basics I still don’t know how to apply the basics to a functional program, for example, I can create variables to hold data or pass it, or I can create a loop to loop through a list, but yet I don’t benefit from any of these basics because I don’t know how to apply them.

any recommendation for an easy language? for backend development?

Thanks

any recommendation for an easy language? for backend development?

Python or other general purpose languages like Rust/Go etc

You need to become familiar with the standard libraries, and libraries related to a project you are working on. That’s your next step ! Python is rich in libraries and simple to use built-ins.

Q: Are you working on anything or have something in mind? i can refer you some libraries available to help give you a start

There are three types of people, those who understand programming from the beginning and just evolves, then there are people who just continue to educate themselves and keep trying and eventually it clicks and they too become sufficient programm

Then you have people like me, who can grasp the context of computing and programming, who can understand some concepts, but for the life of one self can’t figure out what all those weird characters are in the code…

My point being, try hard and try to really understand, if lucky and dedicated might get there. Or you can realize it’s too hard and play games on steam.

Good that is what you are supposed to do. The point is not learning a specific language. The point is to learnt the few coding styles that exist out there (which are just a few). Then you switch between languages based on your needs. If you know the style switching between langiages of the same style is an easy step. But you need to know the style in depth.

Learn by doing. That is the only way. DO not just watch the tutorials. Actually replicate all the exercisers they are presenting. Do not just copy. Understand what each line does. Find university course and just redo practically what ever projects they give to their students Start simple and go from there. Programming you can only learn practically.

One way to get the gist of programming in depth might be to start with a lower level programming language rather than scripted languages like python. C for example is a great way to get onto programming. Very useful in general and detailed and low level enough to understand what is going on in depth. From then jumping into more descriptive languages like python is quite easy.

Books have always helped me. From reading your initial post, it seems like you’re trying to master everything in 3 months. You didn’t say when you started PHP or Node, but if you’re rushing through trying to be an expert overnight, that won’t happen. What’s the rush, anyway?

My favorite books have been books on Computer Science using a various language to show the concepts. Two come to mind:

Starting Out With C++

Python Programming: An Introduction to Computer Science

The Starting Out With C++ book was the first book I read in school for my major. It was overwhelming, the first semester. I had dabbled in software, but hadn’t done much. By the second semester, it was a bit easier, and on and on. You just have to keep practicing. It took me a year and a half to understand C++.

The Python Programming book was the first time I appreciated Python. Learn Python the Hard Way, and the other terrible resources out there caused me to hate the language. I never used it. I learned Ruby just to spite Python users. However, that book changed my perspective and gave me an infatuation with the language. I also realized a lot of my problem was Python 2.x versus Python 3.x. Python 3 is vastly superior, in my opinion and experience.

I disagree with a lot of what is said here, about bouncing between languages while learning. No, pick one, and learn the concepts of software development. Make tools and applications, get someone else’s code in that language and fix it or alter it. Once you have a deep understanding of Computer Science, software development, and syntax and semantics, then move onto another language. It will come to you much faster, and you will able to apply what you’ve learned previously to your new project.

Flip flopping, and starting to learn JavaScript, and then stop and go into Python, you won’t be useful to anyone asking you to do JavaScript. You’ll spend more time reviewing what you “learned” before than doing anything productive. There isn’t a wrong language, just pick one and go for it.

Good luck.

Echoing others here…

Project, project, project. Find something you are actually interested in building and build it. It will probably be a smoking pile of poo when you are done, but you will learn more than you realize. This will also force you to stick with one language long enough to be profiecient, you can’t change languages in the middle of a project, unless you want to rewrite the entire codebase that is…lol

Every month there will be a new language, new compiler, new spin off of an existing language, etc. The focus is on BUILDING something, not what tools you use to build it. Yes, you want to pick the best tool for the job but normally there is more than one “right” answer depending on the project.

Finally, “I’m starting to lose faith in programming!”, no, you ARE learning programing. Programming is a seperate sub-skill from any particular language. Languages will have their own idiosyncrasies, but they are basically doing the same thing (moving bytes around) for the most part.

Suggestion, do your first project in python. It is versitile and very popular and will probably open doors for you if you get decent with it. Best of luck!

1 Like

As a layman. When AI gets good at coding which it is made of. And AI is learning all the coding languages or cutting straight to machine code, instead of is it a cat vs dog recognition. I think learning programming will be in trouble.

Now is this good or bad for windows, mac OS and linux bugs. Should be good.

Id say learn cutting edge AI on not py or c.

my 2 cents.

Hey man, I’m kinda there with you. Learning servers, networking, programming languages and trying all sorts of different things is a blast!
However, I think you’re now starting to find that you’re losing sight of a goal.
Main reason being, you don’t have a goal yet!

I would look into finding a project, be it a simple REST application that does your budget or something. That way, you’re digging deeper into the languages and technology that you’re delving into.