4 ms·
I'll be lying if I tell that I'm good. In 2022 I'll study to become a programmer. Focus on algorithms, data structures, and try to learn math (I'm very math i
by abzug 5y ago
I'll be lying if I tell that I'm good.
In 2022 I'll study to become a programmer.
Focus on algorithms, data structures, and try to learn math (I'm very math illiterate, I don't know anything beyond basic arithmetic).
So at least by this time next year I'll have more knowledge.
- gigatexal 5y agoThat’s so dope. More power to you! It is good to have hobbies outside of tech and programming too. I find when I’m stuck doing something else helps me figure stuff out. And it helps to prevent burnout.
- vorticalbox 5y agoI wish you the best of luck.
- abzug 5y agoThanks.
- thom 5y agoSounds like a great plan! Any way we here could help you out with some books or something?
- abzug 5y agoSince I'm focusing on the job market, I'm collecting resources to learn C++. From what I gathered the best beginner book is Bjarne Stroustrup's Programming: Principles and Practice Using C++, which I think it'll be good since it's a programming book that uses C++ and not a book solely about C++. But I'm open to any advice.
- ethbr0 5y agoBe aware that C++ is the organ of programming languages. There are many jobs that require this complex of a tool, but there are many jobs that do not. I went BASIC -> C++ -> Java -> Python (some years ago) while learning programming. Learning memory management fundamentals in an unmanaged language felt enormously helpful in recognizing the bigger picture in later managed languages. ... But! It wasn't required. Advice: Know what language(s) your target job market (there's a lot of programming) uses, and spend more time / practice on those. Most hiring folks don't know enough to evaluate language knowledge from a theoretically similar perspective.
- kaveh_h 5y agoA bit of algebra is good to know but more math knowledge is really only required if you want to work in a domain which requires it like Machine Learning, graphics engines, Scientific Computing, algorithm development and some other domains. So I would explore and see how far you can get in math before investing to heavily into a specific language. If you want to learn one that’s useful in many domains and is easy to learn while focusing your studies on math my suggestion is Python.
- daantje 5y agoThe is also "A tour of C++" from the same author, which might be a good start. Take care.
- abzug 5y agoFrom what I gathered, it's a book geared towards programmers new to C++.
- _huayra_ 5y agoIf you're focusing on just getting a software job and not shooting for a particular industry where C++ is used heavily, there are far more jobs that use much easier languages (e.g. C#, Java, Python). C++ really takes some time to understand the myriad nuances that other languages obviate through GC (or not having templates, or simpler rules about overloads, or no intricate distinctions over value categories, etc). Now if you're in to mastering complexity, C++ can be a great choice, as there are a ton of complex things to learn, but I would take a look at job postings where you think you might want to end up to see if it is actually required. It is very unsexy to talk about on HN, but for pure employability, Java (and other JVM-based languages) are probably the best in most areas. There are tons of remote jobs, and pretty much in any city, plus you can branch out into other JVM-based languages (e.g. Scala!) once you feel so inclined and still incorporate that at work. C# and F# have a similar "progression" and are now completely open source too! Good luck, whether or not you end up choosing C++!
- chalcolithic 5y agoI'm gonna be downvoted to hell but start with linear algebra. All the basics will be immediately useful for graphics programming.
- abzug 5y agoDoesn't linear algebra requires a lot of background/intuition? I have none.
- divbzero 5y agoThere must be a good ELI5 intro to linear algebra out there that doesn’t assume a ton of background but… I agree with other comments that linear algebra has limited relevance to learning programming. Your experience with Emacs gives you a far bigger leg up than mastering linear algebra would.
- ethbr0 5y agoIMHO, programming (the practice) itself doesn't require math. Problems you solve with programming may or may not require math: the math requirements come from the specific problems. Every time I've used heavy math in programming, I've figured out the math for the problem in isolation, then programmed that solution.
- User23 5y ago> IMHO, programming (the practice) itself doesn't require math. Strictly that is incorrect, but I get what you mean and agree with the point you’re communicating. I suspect it’s largely due to the rather dysfunctional way mathematics is taught in America. Writing C for example requires knowledge of order of operations, inequalities, boolean arithmetic, and something very much like mathematical induction if you want your loops to terminate. Most programmers with the math optional mindset just don’t think of all the math they’re doing as math. For me the realization was empowering since once I realized I really was using a lot of math it inspired me to start filling gaps in my knowledge. Edit: This looks interesting: https://pimbook.org/ https://pimbook.org/
- sillysaurusx 5y agoIf you're doing it to get your mind off things, it can be a wonderful distraction. One of the best in life, as far as I'm concerned. I was mostly math illiterate too. Geometry was my strong suit, not manipulating symbols. Still want to learn PDEs someday just for fun, mostly because I have no idea how to model anything as a PDE. But I would never try to learn PDEs to make money, because it would put me under a lot of pressure, since I wouldn't be doing it just for the knowledge. Just make sure you're having fun as you're questing your way towards programming. It's key.
- abzug 5y agoIt's just something that I enjoy and I can finally try to be good at and who knows, get a job doing it. I already use Emacs for everything since 2003, so...
- sillysaurusx 5y agoOh hell yes! That's awesome, and so are you. Please, definitely DM me on Twitter if you run into any roadblocks at all. I will always make time to help someone learn this stuff. Believe it or not, you managed to hit on the most lucrative long-term strategy, too. That's exactly the mindset that the best programmers have. If you like it, then a job is pretty much a matter of time. Best of luck, friend. Take care of yourself, and prioritize yourself. You're worth it.
- _huayra_ 5y agoWhat field are you in that you use Emacs? I'm always curious what non-IT folks that use some rather IT-specific tools do (not that Emacs is just for coding like gcc, but it's pretty rare to see it jump over the wall).
- abzug 5y agoAttorney but I read a ton of programming-related stuff, know how to use the command-line and used Emacs for a bunch of stuff. It's my shell, rolodex, text editor, calendar, file manager and, being Emacs there's a lot of little functions and stuff that I've built for myself and/or to make things easy.
- kayodelycaon 5y agoI’m a senior web application programmer in the US and absolutely suck at math. Most of the field doesn’t require much math. Basic geometry and algebra would be enough. Knowing the basics of how to calculate combinations and permutations is useful. Some people have recommended Kahn Academy. https://www.khanacademy.org/ https://www.khanacademy.org/ Don’t be afraid to use a calculator when things get complex. Calculators are not cheating. But try to do as much in your head and on paper as you can. It helps to learn why things work. You will get frustrated. Be patient and walk away for a bit when you need to. :)
- abzug 5y agoThanks for the pointers.
- beebeepka 5y agoI also suck at math. As a web dev, I don't need much but doing 2d/3d graphics gave me headaches for a while. As a kid, I used to complain often and loudly that I would never need any of this stuff. Turns out I was wrong. You can turn around your life. I did so in my 30s. I am only saying this because there's a high chance you are an old fart since you know and like kraftwerk. As you have correctly guessed, it's not too late.
- abzug 5y agoThanks, I'm 36 by the way.
- maerF0x0 5y agohey man, I'm in my 30s as well and definitely feel like I'm restarting life after a LTR ended in the spring. I like to remind myself of the encouraging phrase "We overestimate what we can can accomplish in a year, and under estimate what we can accomplish in five". Compounding gains is the game and humans always seem to underestimate their power
- evanmoran 5y agoYou can do it! Most coding is algebra, algebra 2, maybe trigonometry. Focus on those and you will do wonderfully. In game programming you would need linear algebra, but you can go a long way with just vectors, cross products, and dot products.