TFW too retarded to learn C++ so I decided to learn Python

>TFW too retarded to learn C++ so I decided to learn Python
>TFW too retarded to learn Python so I decided to learn PHP7 and become a web developer
>Too retarded even for that

Is there anything left for me? I want to learn programming but I'm not very smart. I would like to at least start with something easy and manageable to gain confidence and create things that "werk" before I consider moving onto things.

What would be suggested for someone like me besides killing myself?

Other urls found in this thread:

waitbutwhy.com/2013/10/why-procrastinators-procrastinate.html
coindesk.com/how-to-trade-bitcoins-bot-software-sleep/
news.ycombinator.com/item?id=5904071
twitter.com/NSFWRedditVideo

webdev

Try Karel

What are you basing the fact that you are "retarded" on? The fact that you cant master the language after one day of looking at the syntax? I doubt you've tried anything substantial enough using a language that you could accurately conclude that you are too dumb to continue.

Become a sysadmin.

The most viable skill is stress control and being able to yell at users and developers.

Pretty good money too.

Struggle very hard and don't understand anything without extensively reading documentation and even then I get confused and stuck on minor things.

I spend considerable amounts of time on multiple languages (C, C++, C#, Python mostly) but still struggled very greatly which didn't make any sense compared to how much effort I was exerting in comparison to others. If anything I couldget through the book and go along and stuff but afterwards I would just die on any practical application of my knowledge.

Pick up a linux distro and a bash book. If that's too simple for you, pick up 21st Century C and learn the whole C/C++ ecosystem (git/gdb/make/autotools/etc). Much as I'd pimp the C Bible here, C is more than just a language now, especially for beginners who don't know what a makefile looks like.

After that, find a few simple things to script (like logfiles to CSV) and go from there.

Essentially, if you have to do it more than 3 times, automate it.

>Essentially, if you have to do it more than 3 times, automate it.

I don't have anything like that. I have no idea on what I want to make if i was to make something. Everything seems either too easy and useless (Making a calculator or some other introductory program to learn the basics of syntax) or simply requires either a team of skilled developers or to be a phd candidate(actually creating something of real-world value that will influence the world).

I would think that learning PHP for web dev would be more complicated than learning C++ or Python because, for a beginner, you have to learn a wide array of confusing technologies that have confusing relations to each other as opposed to just solving arithmetic/algebra problems and outputting the result to console. I would go back to Python or some other language with a REPL environment and play around in there. I know Python's bundled REPL isn't good, so you may want to look around at what's out there. I had a lot of fun playing with Dr. Racket, which is an IDE for Racket, a Scheme-like language. It you went with Dr. Racket, you could also look at the beginner's book for it, How to Design Programs (which I have never read). Whatever you go with, stick with something that allows you to type in code and get instant output. You'll learn faster when you can mess around and get instant feedback.

Anyhow, if for whatever reason you find you dislike programming or that it's too difficult, that's okay. Not everyone has to be a programmer.

Kode with klossy

What have you tried developing using each language? I tutor at my university's CS department and often find that prospective programmers who try to simply study and master languages get burned out pretty quickly, which is understandable. Purely studying language syntax and features can get boring quickly. Try to pick a language you enjoy, and then find a domain that interests you, and try to make something cool. Common areas I recommend are AI, data mining, graphics, security, game engines, etc. For me, I enjoyed programming, but I didn't feel that I was confident in my abilities until I started doing graphics and VR development in my free time. What interests you?

>Struggle very hard and don't understand anything without extensively reading documentation and even then I get confused and stuck on minor things.

That's what programming is like at an advanced level too, only you will just be getting stuck on more advanced or obscure issues.

>Everything seems either too easy and useless (Making a calculator or some other introductory program to learn the basics of syntax)

That's the idea, to learn the syntax etc. Why are you refraining from doing things that are "too easy," if you're apparently retarded?

>What have you tried developing using each language?

In all languages I've simply completed a few online tutorials/books - done the exercises then I tried to create some of those practice programs that are always suggested (calculator, currency converter, some game, etc etc).

>Common areas I recommend are AI, data mining, graphics, security, game engines, etc. For me, I enjoyed programming, but I didn't feel that I was confident in my abilities until I started doing graphics and VR development in my free time. What interests you?

But user. The problem I face is that I feel like I'm literally either copy-pasting code if I try to do any of these things through youtube or other online tutorials. OR I get totally lost and have no clue what to do or how it should all be structured.

As well I can't think of anything worth doing. I feel like it's more or less useless to create a program I know there is on Github made by some guy who's way smarter than me, and with more experience. So why would I spend 5 days working on my stupid little program when it's been done quicker, better and follows proper coding guidelines? Maybe I just need a mindset shift or something I just don't know.

take LSD, everybody does it in the valley

>Why are you refraining from doing things that are "too easy," if you're apparently retarded?

Maybe I explained it wrong.

I feel too smart to learn the basics (I've learned them already). But too stupid to do ANYTHING that isn't a stupid

>calculator

If you actually tried to develop one, where did you get stuck?

Have you asked for help?

I didn't mean I got stuck. I meant I did it successfully. My problem is i cannot get beyond these baby programs that are totally useless. I want to create something cool and interesting but I'm totally lost and don't know how to even structure it theoretically.

If you can't think of some repetitive tasks that you're already doing, I can't help you. Also, you should check your damn logfiles more often. Maybe write something that reads through logfiles and tells you if something is going on?

Everything is built off the back of everything else, so find something you like and build a clone of it. Hell, that's how you learn stuff. Find something you like or that's useful and make a basic clone, then extend it in interesting ways.

Programming is hands-on building stuff. If you don't build, what the crap are you doing here?

Now implement a RPN mode for that calculator, and maybe a CAS system. Boom, there's a project for you.

Saw a sysadmin job post but it requires to be able to lift 50 pounds daily. Why

Hey OP at least you got a little bit forward.

At best all I did last year at class was bash scripting. Maybe I should give programming a try. Maybe I should get on with C since most of the people I know that were a little bit successful with programming IRL have started with that.

Okay how about if I wanted to let's say make a Chess bot.

Where would I even get started? How would I break down what i need to do to do into proper steps and structure everything accordingly?

in all seriousness i would suggest you to learn C.
c++ is a complex language and because a lot of people want to learn it quickly and get a job there are a lot of tutorials that rush some concepts. c is a pretty easy language desu

>Maybe I just need a mindset shift or something I just don't know.

This would be a good place to start, based on the following part of your post..

>The problem I face is that I feel like I'm literally either copy-pasting code if I try to do any of these things through youtube or other online tutorials

It's okay to more of less be copying code when you are beginning! The important thing is to..

1. Get the copied and pasted code working
2. Understand fully how and why the copied and pasted code works the way it does.

For an example again, when I was beginning, I followed an online tutorial about how to make a ray tracer. It took a few days, and the brunt of the application that was doing the actual ray tracing calculation was copied and pasted, however, when I was done I had a working ray tracer, and had a more complete understanding how ray tracing worked, as I had to read, digest, and understand why the code I was using worked. This also helps, as you get exposed to good code written by experienced developers.

Then, the next logical step is to ALTER the code you copied and pasted in order to make it more your own. Back to the example, the code I copied used flat shading to ray trace. I implemented Phong shading, a more advanced shading technique that I was not aware of beforehand. Once I got the Phong shading working, I had a working ray tracer, an understanding of how good developers write ray tracers, the experience of learning and implementing a new shading technique, and something to show for it.

Professional software development is more or less about finding good code elsewhere, and changing it to suit your needs.

I see.

Then i highly recommend web scraping. Python has some pretty cool libraries for it(lxml, BeautifulSoup etc.). I recommend BeautifulSoup at first.

You can, for example, scrape Sup Forums and store each post in a local database(sqlite). Then you can use for example an MVC framework to write a mini-chan to view the posts you archived.

Breddy gud project IMO. Should keep you busy for a while and definitely not "baby step" tier.

Chess bot? Do you know chess theory?

If so, then you know the thought structure - You choose an opening you want to play (or use to counter). Implement the opening steps (usually the first 5-10 moves) and then the rest is pretty much a state machine based around looking at piece position, calculating out the best move based on weight (piece points, board area control, etc), and then go from there.

It's a state machine man, and you should learn about them.

>Professional software development is more or less about finding good code elsewhere, and changing it to suit your needs.

Doesn't that feel like cheating though? It feels wrong. But surely there's only so many approaches to problems that you essentially have to copy snippets that do what you need them to correctly?

I guess I'll try this. I also was thinking of making some sort of stock/cryptocurrency bot.

For example I really wanted to make a project that would for fun scan through posts on let's say /biz/ and then buy a cryptocurrency that people kept posting about or something like that

The bot would (in theory) simply detect a chessboard in a browser, then feed the position into the chess engine and use the result to make the appropriate moves.

It seemed very easy but then I got very stuck on how I would be able to read the state of a chessboard from a browser and then write to it with my bot.

I guess you could consider it cheating, but the bigger concern is throughput and efficiency. Much better to spend less time copying something that you know works then waste your own time starting from the bottom up.

>I guess I'll try this. I also was thinking of making some sort of stock/cryptocurrency bot.

There! Now you have a language that you know that comes with libraries suited for this specific task(python), and an interest in developing something in a certain domain (web scraping).

user I feel with you, most programmers are also not smart, see the mass of security problems and useless software. the diffrence is that these people just start somewhere and have no self-uncertainty while doing it. They also invent the wheel new most of the time because they believe they can do better or arn't aware of existing libs...

I think the best approach is the try to change your mindset. take a psychedelic drug or try the As-if principle and avoid procrastinating

waitbutwhy.com/2013/10/why-procrastinators-procrastinate.html

If you're going to make it brower-based, then learn to make an interaction layer for the web first. You'll want to read the chessboard (so either Optical recognition, or scrape the html depending on implementation on their end) and then feed it to your backend. Then you'll have to take the results from your backend, identify the piece to move on the board, and then interact with it.

So you know, the web is a shithole to interact with, so I would make your own standalone chessboard and tie your engine to that. This setup would let you work on your chess engine rather than tear your hair out trying to get data from the net.

And honestly, the engine would probably matter more in the long run.

This is literally your calling OP. Learn the latest turd JS framework of the week and call yourself an expert. And don't worry, in webdev all the developers are just as retarded as you are.

Where can I learn how to break down projects into manageable steps and structure them properly?

To do this example project do I just need to first figure out web scraping, then how to do the math then how to buy

>So you know, the web is a shithole to interact with, so I would make your own standalone chessboard and tie your engine to that. This setup would let you work on your chess engine rather than tear your hair out trying to get data from the net.

That's useless though. I would want it to play chess on a website.

Brainlet

>too retarded for C++ and python
Looks to me like you can have a great career in CS field

user you're probably better than you realize. The trick is to actually apply your knowledge. Instead of copy pasting code, figure out as much as you can. Before you even begin writing your program, clearly explain what you want it to do, then ask yourself how you'll do it. Write down what variables you'll need, what type they'll be, what functions you will need to write, how they'll interact. Break your problem down into smaller and smaller and smaller chunks. Make a list of comments of things you need to do. You need to take things one step at a time and build up in complexity.

>Where can I learn how to break down projects into manageable steps and structure them properly?

Other people's code on Github. Find a working web-scraper in python, clone it, tinker with it, and when you feel like you know how it works extend it to do what you want.

I wouldn't jump straight into making a bot that optimizes stock purchases, though. That's a task that researchers are working on at top universities. Something as simple as scraping web sentiment analysis on certain brands is both relatively straight forward yet still has some real-world value, and having a completed one on your resume/Github account shows potential employers that you can take initiative in finding what interests you and that you can take a project from start to finish.

Ok, then spend time on the interaction layer - just so long as you stop posting on Sup Forums and do something already. You are either doing something, or you are not. 'Talking about' is a subset of 'not'.

But so you know, a chess engine is a fuckton more complex than an interaction layer. You're going to have to test it, play with and against it and all sort of fun stuff to make sure it's actually *right*. Making a standalone board will make testing it easier, and then you can graft your interaction layer to that later on once you know it's not an utter embarrassment and failure. Or did you not actually read the sections of your textbook that went over modularity and interfaces?

>I wouldn't jump straight into making a bot that optimizes stock purchases, though. That's a task that researchers are working on at top universities.

Well I wouldn't want to make it amazing to where it executes trades in fractions of a second for HFT or does all sorts of weird analysis. Just something simple. I will give it a shot though thank you user.

>But so you know, a chess engine is a fuckton more complex than an interaction layer. You're going to have to test it, play with and against it and all sort of fun stuff to make sure it's actually *right*

Yes but the chess engine part is already done. I'm not a mathematician so I wouldn't actually bother trying to create my own when there is ones out there that I could never be better than

> I will give it a shot though thank you user.

No problem, I remember being in your shoes, so I am glad that my experience could possibly help another discouraged programmer like myself. Best of luck!

The point was for you to build your own, so that you would learn about testing (and test harnesses), state machines, statistical analysis, refactoring and the like, while putting them to work. If you're just going to strap a commercial engine to a web interface, I won't knock you for it by my sympathy for your original post is gone.

Shying away from hard things is not how one grows.

Thank you. I will give it a whole new shot now, I guess I just got discouraged by looking at very interesting projects and trying to compete with them when it's too early in my learning for it

True, I could do it for fun but I meant realistically making a working product I would not at all try to compete with something very mature and created by a far more capable person/people.

if you find programming hard then it's not for you


sorry

But everything is hard when we first do it.

Learning to read was hard at first, and so was multiplication. Does that mean I should have just given up?

Is there anything in life worth doing that isn't hard? Maybe sharting my pants or masturbating to CP?

Idiot here.

I found Windows Batch Scripting and PHP to be the only languages that I could learn. As a beginner just look everything up online and steal/alter other peoples code. After a while you start remembering some of it

>As a beginner just look everything up online and steal/alter other peoples code

I'm starting to feel this is the way. For a long time I felt guilty about this and i feel like that's what held me back as I would insist on trying to do it myself and wasting 10x more time, probably only setting my learning back.

This. No one just divines good coding practices, nor do books written by Bjarne and the like teach the silver bullet to good programming after one read. Exposure to working code written by competent developers is as close to a silver bullet as it gets. It also prepares you for industry, as most of the time you are reading and trying to understand someone else's code.

I just couldn't help kick the thought that if I wasn't making it from scratch I was stealing.

If this is really the case then it makes this whole field feel like a fucking scam. Why the fuck are people getting paid to copy-paste solutions written by others on StackOverflow? Why are the people copy-pasting not unemployed with those StackOverflow contributors making millions by doing everyone's work?

It doesn't exist. That's why the stock market is a meme. If there was a way for a application to algorithmically calculate future stock prices and make positive trades based on said results it would take plus minus 3 months for said bot to completely control the entire market.

As that obviously cannot be done (if it would it would've already been made already) it sort of proofs by reverse that investing in the stock market is a form of gambling at best.

It's probably not that you're stupid, it's most likely that you're lazy and/or have no self-discipline.

Though you could try front-end web development (HTML, CSS, Javascript - in that order) if you still wanted something less logically strenuous and wanted to see instant results for your efforts.

vanilla javascript is the easiest thing in the world

>If there was a way for a application to algorithmically calculate future stock prices and make positive trades based on said results it would take plus minus 3 months for said bot to completely control the entire market.

You seem to be implying that High Frequency Trading, arbitrage bots, etc do not exist.

You are aware that large firms are literally firing their HUMAN employees who pick stocks with bots, right?

>The largest fund company in the world, BlackRock, has faced a thorny challenge since it acquired the exchange-traded-fund business from Barclays in 2009.

>These low cost, computer-driven funds have exploded in growth, leaving in the dust the stock pickers who had spurred an earlier expansion for the firm. The rise of passive investing — exchange-traded funds, index funds and the like — has revolutionized the investment world, providing Main Street investors with greater opportunities at lower fees while putting pressure on even Wall Street’s biggest money managers.

>Now, after years of deliberations, Laurence D. Fink, a founder and chief executive of BlackRock, has cast his lot with the machines.

>On Tuesday, BlackRock laid out an ambitious plan to consolidate a large number of actively managed mutual funds with peers that rely more on algorithms and models to pick stocks.

>Some $30 billion in assets (about 11 percent of active equity funds) will be targeted, with $6 billion rebranded BlackRock Advantage funds. These funds focus on quantitative and other strategies that adopt a more rules-based approach to investing.

>Why the fuck are people getting paid to copy-paste solutions written by others on StackOverflow?

Not sure if this is a rhetorical question, but I have a hard time NOT seeing value in the ability of a developer to hook up bits of code written by others into a working application? Companies pay you to complete tickets, cards, whatever cute name they give to tasks that need done. Developers aren't paid to write code, they're paid to finish projects.

>have 1 internship interview
>fail
>take LSD and have a half-traumatic experience
>get another internship without problems
>get a better job after

it's not like it had any impact on that, but it's fun. unless you're the kind of guy that'll question if everything is real or a side effect for the next 8 months (like me).

It took me a while to get the hang of C/C++ and while I do write some shitty code, it fucking does what it's supposed to. And that's good enough for me (though I'm obviously trying to improve all the time).

Come up with an idea for an application that will be useful for you and just write code until it works, learning from your mistakes as you go.

I've been doing that for the last three years and can now write desktop GUI applications using Qt (my main application is quite complex and is working well at the moment).

To add to this, when you ARE writing your own shit from scratch I found that if you worry too much about abstractions early on you're going to waste a lot of time (at best), and possibly also box your code into an abstraction that isn't suitable (at worst). Just write straightforward code and decide on the abstraction when it's necessary.

HFT is nothing more than beating some else to the punch after the fact. That's about speed and has nothing to do with the selection of which stock to trade or option.

Passive investing is literally NOT trading. Its planning on the long term growth of an entire economy to boost stock prices by betting on ETFs and index funds.

There's no algorithm and the model is simple, economic growth = rising stock prices.

what is the purpose of pic related then?

>tfw too retarded to learn ___
you're not retarded, you're just bored.

install gentoo

The digital version of a guy trying to make bank by selling you a book on how to make money on the stock market.

I'll say it again, and make it real nice and simple.

If there was a way to code a bot into making ONLY "winning bets" you'd kill the game. It would exponentially grow the money you'd provide it with, in turn use that money to "win" even more money and by x amount of cycles the bot would be the sole owner of the market.

HTML. It's literally a case of remembering what different things inside the brackets do, and figuring out the best way to make a website.
After that, learn CSS so you can format what you make.

>inb4 HTML isn't a programming language but a markup language.

They're not selling anything though (other than commissions for trades obviously). But what of algorithmic trading? Seems ridiculous to suggest that you cannot use data science to do this stuff. What is the point of the entire R language then?

golang is made for retards like you.

Cashing in on those commissions is how you make bank on the stock market. Or rather the only true sole way to exclusively make money, not lose it.

Algorithmic trading isn't based on actually selecting which stocks to sell, buy or option. It's to minimize the cost of doing so.

If you are too stupid to do programming do sysadmin or helpdesk.

Most of the people you deal with will be on your level so you will be assisting your peers

coindesk.com/how-to-trade-bitcoins-bot-software-sleep/

news.ycombinator.com/item?id=5904071

>I made a lot of passive income by coding trading bots for bitcoin.

>Its a steep learning curve but if you are willing to learn, it can be very profitable.

>Like you, I can code confidently so during my morning commute I would read books about trading and economics. In the evening I would play with bits of code interfacing with broker API's. Within 3 months I had a working bot that automatically traded away as I slept and went about my day job (passive enough for you?).

>Fast forward 6 months with a couple of hours coding a week refining my algorithms, my bots earned me more than double what I made in my day job that whole year.

Explain to me why you believe this is not possible to do.

It's fucking bitcoin man.

You can't really rely on this one person who accidentally made a shit ton of money off of bitcoin to argue the existence of bots who only make good decisions? Where's this guy now? Surely he must now own so much bitcoin he's a billionaire.

Coins have no fundamental value what so ever. You could literally replace bitcoins with flippo's and it would be exactly the same.

But it neatly explains exactly what most people don't seem to grasp.

The stock market is 100% a sellers market. Same obviously goes for the coin market.
The price of a stock is valued a 100% not by what people are willing to pay for it, but by what people are selling them for.

You can't factor in human irrationality in an equation to calculate the price of something arbitrary.

>You can't factor in human irrationality in an equation to calculate the price of something arbitrary.

Then explain to me how traders exist who have made tremendous amounts of money starting with little money? Humans are irrational yes, but human behavior is rather predictable in that sense.
I don't think it has to be guaranteed to make you huge sums of money, but small amounts consistently, or even just mathematically good chances of paying off for you in the longrun. There has to be patterns to this shit.

Same way there's let's say pokerbots

Draw of the fucking luck.

Out of all the people who trade stocks obviously someone is the most "succesfull" (or lucky really). Someone has have had to make the most money. You're just putting them on a pedestal thinking that you could DO the same. Which is statistically not true obviously. Or very unlikely rather.

Its not impossible to make money. On every trade there's a winner and a loser. Stock goes up the buyer wins, stock goes down the seller wins. Just make sure you win more than you lose, and you'll make a profit. Doing so however consistently is impossible.

It has no pattern whatsoever. If it had it would've been exploited by now.

>You're just putting them on a pedestal thinking that you could DO the same. Which is statistically not true obviously. Or very unlikely rather.

I used to think about this too (That statistic about 90% of traders not beating the market or whatever). But I started thinking about how that's an unfair comparison lately because 90% of people are easily retarded and don't do it long enough to get any good.

>You're just putting them on a pedestal thinking that you could DO the same. Which is statistically not true obviously. Or very unlikely rather.
If someone can do something then you can too.

By this logic you could say that getting in shape is difficult (Since less than 10% of the people you see on the street have both any noticeable musclemass, AND visible abs). And yet getting in shape is as easy as learning basic nutrition for free online, and learning about lifting for free online.

I don't know man. I have 95% of my money in an s&p500 ETF but lately I've just been considering other things. It really does seem possible the more I read and I want to try it with even just $1000 and see where it goes.

You don't copy paste. Look at someone else's solution and understand WHY it works. Then implement it yourself. If you have to back at the solution and look at it, that's fine.

If you're learning guitar, do you learn the chords and then start writing great songs? No, your ear isn't developed enough, nor are your playing skills. You get the sheet music/tablature for some song you like that you want to play, and learn how others do it. Then your first few songs will just be derivative of other stuff, complete rip offs in some cases. Over time you accumulate enough knowledge that you can do more and more bits by yourself.

True. That makes sense man.

I guess similar to videogames where I'd copy how other players played until I got good enough to make up my own shit that works/suits my playstyle more.

All of those languages you listed a simple, I seriously don't understand how you struggle with modern languages.

this was a surprisingly positive thread.

You're not retarded, you just lack consistency.

what are you a fucking sissy?

Learn Visual Basic OP.

Not him but literally what 50 lb item would a sysadmin need to lift daily?

algorithmic trading

That's just a way to filter out women.

I can't lift that much but I've been hired.

If you are a brainlet go for sysadmin and general support stuff.

But to be a sysadmin you need to know some scripting too. I don't think OP can do that

technical writer

>I dont something until I read about it a lot

you mean learning?

you cant lift 50lbs?

jesus fucking christ user

HTML isn't a programming language but a markup language

Why not learn IT mainteinance?

that doesn't require coding and most of the time it requires to simply reinstall windows and install some antivirus, maybe cc cleaner and defrag your harddrive.

you will be literally charging old people who are technologically illiterate.

tbqh webdev has become very complex throughout the past 4-5 years

C#.

honestly, how important is it to understand algorithms for web dev? I try to do coding challenges and most of them seem pretty challenging simply because of the logical/puzzle aspect.

adobe
fucking
reader

Why be dumb and strain your brain learning to program and struggling every day, when you can just do something else?
Learn a trade, become an electrician, way easier and you'll make bank too.

Keep practicing user. Eventually you'll have a lightbulb moment. If you start with C or C++ you'll just get discouraged, and don't do PHP because it's aids. Go back to python. Java is also a very good choice because it's not as hand holdy and will do a good job at teaching you C like syntax, yet you can still easily create things with it. There's also shitloads of positions for it. Python is essentially the future though.

For front-end, not at all.
For back-end, anywhere between a little and moderately - depending on what sort of shit you're making.

>Try to make a webpage
>Fail misserably at UX part because you can't design for shit

t. Webdev

I think this user shed some light on becoming a programmer, and more importantly a "good" programmer.

Up until about a week ago I hadn't developed anything of practical use in my 2+ years of programing. School had me create a lot of programs in a variety of languages from c++ to scheme, but I had never built something that will be actually used. Then I built a menu in python using tkinter. I did a lot of what your having troubles with, copying and pasting, looking at stack overflow, etc. After it was all said and done however I felt a lot better and a lot more accomplished as a programmer, and I feel a lot more confident about taking on harder tasks. Suddenly creating a game doesn't seem so daunting.

Now with all that being said it's kinda unavoidable that your first programs are crap. My tkinter program is indeed horrible code. It works and no one using it will ever know nor care since it's simplistic (just a menu) but the important part is that you learn and gain a lot of confidence once the thing is an executable and works. Plus if I am ever asked to create something that's similar to it I know how to do it. It's just the nature of the beast really.

VB.NET
Easy and can make yourself employable.

C++ isn't a starting language

Learn something easier like Ruby or JavaScript

expression 2 from garry's mod was the language that I started on. it has syntax like c++ and you can actually see the fruits of your labor.