lainchan / λ

(untitled)

Kay · 2023-03-11 15:34
I'm twenty-four old and born in Brazil. Almost my life, I grow up my math skills and science in general. But, for some reason that I don't want to explain, I see myself forced to work as web dev to help my family. This choice make me give up from my computer science degree. Today, I have a good acknowledgment about software developer. But I feel miss about another topics, like a Turing completeness, state machines, discrete math, Chomsky grammars, etc. Can I consider this chart a good way to become a wizard?
Anamika · 2023-03-11 16:19
Drop the Bjarne/C++ book, the C books besides K&R, drop all schemer books except HTDP, SCIP and a Little Schemer, drop everything else except CLRS, Concrete Mathematics and The Art of Unix Programs. Putting the TAOCP on a "learn to code list" is way overkill and likely unlearnable by a newb After that you can create a portfolio well enough to get a decent entry level job coding i.e. like 3-5 good programs that demonstrate that you will be a useful developer on the time. I also think the order is bad, I would do The Little Schemer, K&R, SICP then CLRS/Concrete Mathematics/
Crazy Jake · 2023-03-11 19:13
>>34687 Depende de ti. Lo que aprendas, aplícalo de nuevo a lo que haces. Explore el paradigma de la "Functional Programming". Recomiendo "Introduction to Algorithms" por encima de todo, quizás comience con "Grokking Algorithms: An illustrated guide for programmers and other curious people" si el otro es complicado. ¡Recuerda siempre divertirte! Hazlo porque te gusta, no porque tengas que hacerlo. ¡Dios lo bendiga!
Nemissa · 2023-03-11 20:26
>>34693 based, especially the "do it because its fun" aspect if you force yourself you will burn out quicker, a enjoyable mindset is worth a billion bux
Molly Millions · 2023-03-12 09:25
>>34693 Brazilians speak portuguese, not spanish.
Six · 2023-03-12 09:25
>>34696 lol this one speaks english though.
queue · 2023-03-12 10:14
>>34687 >Can I consider this chart a good way to become a wizard? No. A wizard is someone creative, that decide his own way. The map shows basic programming, algorithm design and compilers. Computing is much more than that, don't take this as a critic, take this as if you were playing skyrim. Anything can be a new possibility for something to happen. As the end goal, think about what you want to accomplish. No path is the right path if you don't know where are you doing. If you don't know, maybe the very first step is to explore everything that computers can do, before deciding where you want to go deeper. As for example, one area that I've interest is automated reverse engineering, mixes ML/DL, compilers, computer architecture, complex system analysis (graphs) and quite a lot of math. There is no book about it, you need to map which subjects you need to know to archive this. Find something that you find interesting, research deeper what makes that "happen", and that will be your map. Remember to implement every single algorithm in the process, this will make them stick to your mind. "Quick hack for learning X", "how to master X fast", are traps that you really want to avoid. Consistent progress, moving forward no matter what, is what you want.
x<->y · 2023-03-12 10:37
>>34696 Spanish and portuguese are mutually intelligible for the most part.
Motoko Kusanagi · 2023-03-12 11:12
>>34699 I aim't be a specialist. I don't to go in a way that need by flee center to the spheres of an edge. It's my perspective about knowledgment. Plutarch explained with the observation that "he who busies himself with mean occupations produces in the very pains he takes about things of little use evidence against himself of his negligence and indisposition to what is really go. Specialization develops only part of a man; a man partially developed is deformed; and one deformed is the last person to be thought of as a ruler; so runs the irresistible logic of the position. When Socrates declared in the Phatdrus that he learned not from the trees of the country but from the men of the city, he was exposing the fallacy of scientism/specialist. >As the end goal, think about what you want to accomplish. As said by Bjarne: "Programming is the art of expressing solutions to problems so that a computer can execute those solutions." This is my aim. __Resolving problems and express these solutions in a way efficient, methodical and with quality.__ But, what are the foundation that all good programmers need to know to up the degrees of a mastering in computer science? >>34700 You right, kek.
word · 2023-03-12 11:21
>>34688 >Drop the Bjarne/C++ book Why? >Drop all schemer books except HTDP, SCIP and a Little Schemer Right. Fun fact, new editions of SCIP abandon the Scheme to Python. https://www.youtube.com/watch?v=OgRFOjVzvm0 >After that you can create a portfolio well enough to get a decent entry level job coding i.e. like 3-5 good programs that demonstrate that you will be a useful developer on the time. How to find a good job coding? In my country we have a culture to soyboy dev woke, that similar to almost EUA companies too. It's fine because competition is low.
FILLER · 2023-03-12 11:24
>>34703 It's 1312 pages long and C++ is one of the most unwieldy languages doubly so for beginners
Jet Black · 2023-03-12 11:32
>>34704 Sorry, but your argument is weak. >Its 1312 pages Said by Bjarne: "You might find the weight of this book worrying, but it should reassure you that part of the reason for the heft is that I prefer to repeat an explanation or add an example, rather than have you search for the one and only explanation. The other major reason is that the second half of the book is reference material and “additional material” presented for you to explore only if you are interested in more information about a specific area of programming, such as embedded systems programming, text analysis, or numerical computation". >C++ is one of the most unwieldy languages doubly so for beginners Define your concept about beginner. In my perspective, beginner is a person who have a low IQ soydev who learn "programming" from Indian YouTube channel.
Koos van der Merwe · 2023-03-12 12:13
>>34705 So your definition of a beginner has nothing to do with beginner.
Joey · 2023-03-12 12:33
>>34703 >In my country we have a culture to soyboy dev woke, Then just show up to the interview with a bottle of soy sauce and spouting "woke" buzzwords; it's for a job you don't have to be genuine just pretend. >>34705 >Define your concept about beginner People asking for definitions of self-evident words, wtf.
queue · 2023-03-12 12:43
>>34705 OP says "I want to become a web dev because I am financially struggling" You say "start at the hardest part that has the least to do with web dev, and is the longest route to achieve a job" Appeal to authority via Bjarne is a better argument than it's harder than necessary, irrelevant to his goals, and there are easier and quicker alternatives, and they are included in his OP. I don't think you even know C++ with that attitude.
Faye Valentine · 2023-03-12 12:48
>>34703 I got my first coding job by sending five repos of my own making. Nothing very fancy. I was hired on the spot and they never asked for a resume or about my schooling, lucky seeing as I was a drop out at the time. Code, show it to employers, rinse repeat.
HUN · 2023-03-13 15:12
>>34701 >Specialization develops only part of a man Your life is limited, without focus you will wander in the nothingness of life. >>34701 >Resolving problems and express these solutions in a way efficient, methodical and with quality. You should focus on algorithms, data structure, math and software engineering then. If you want to expand, add networking, hardware, electronics and physics. But honestly the first batch of things to study are already enough for a decade.
Mitnick · 2023-03-14 10:34
>>34687 I would consider replacing the compiler works here with "Crafting Interpreters", a book available for free on the web. I haven't read the famous "dragon book", but I've heard from others that it is, like K&R C, somewhat outdated (although perhaps pedagogically valuable still, to an extent). I'm going through it now and find it pretty good. But with respect to learning, allow me to quote Aristotle: "The purpose of knowledge is action, not knowledge". Don't fall into the American NEET's trap of learning-as-procrastination. Best of luck!
Wintermute · 2023-03-14 14:05
>>34696 >>34687 Depende de você. O que você aprender, aplique de volta ao que você faz. Explore o paradigma da "Functional Programming". Eu recomendo "Introduction to Algorithms" acima de tudo, talvez comece com "Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People" se o outro for complicado. Lembre-se sempre de se divertir! Faça porque gosta, não porque precisa. Deus o abençoe!
byte · 2023-03-14 14:38
>>34753 Thank you! I set goals and decide starting from Bjarne book. I paid $30,00 in Ebay and shipping to my town in Brazil. After three months, my next step is SICP.
Cutter · 2023-03-14 16:08
>>34728 >But honestly the first batch of things to study are already enough for a decade. Only if you have some degree of mental retardation.
Cowboy · 2023-03-14 16:43
>>34760 OP already said he was Brazilian, learn to fuarrrking read
Joe Bloggs · 2023-03-15 02:56
>>34761 >OP already said he was Brazilian What that has to do with mental retardation? Lua was created by Brazilians and it has been used for a lot of things, including script language in AAA games.
Technician · 2023-03-15 02:57
>>34687 This chart is horrible. Drop both C++ books and swap the positions of K&R and King's Modern Approach. K&R is NOT written for people who've never programmed before in their lives and is outdated in many big ways.
cond · 2023-03-15 03:10
>>34753 I'm starting with k&r, is it being old really a big deal?
Joey · 2023-03-15 09:17
>>34772 K&R is fine, but I think you'll get the most value out of it if you know some programming first.
The Oracle · 2023-03-15 09:30
>>34772 It's very much a big deal, imo. A lot of the (anti)feature set of C is based on the extremely limited compute resources available at the time. This is why forward declaration, for instance, is necessary. Starting with k&r in 2023 is an imageboard meme which seriously needs to die imo. You should certainly learn about C at some point in your career or "career", especially if you want to get into low level programming, but it's quite inappropriate for most. I would suggest starting with python. It's used all over the place in industry, and can be applied well to virtually any (high-level) task. Perhaps you can find some reasonable books elsewhere about it, but a nice feature of python is that it gets you actually making interesting and even useful things as soon as possible, which will keep you interested.
Zuse · 2023-03-15 09:34
>>34781 >Don't understand ze computer, use ze python >Your dopamine receptors are so fried you have to have an instant gratification programming language No thanks, I'll stick to C.
HELIOS · 2023-03-15 10:26
>>34781 what I meant was more about the book itself being old rather than the language, I won't start with anything else because I'm interested about c specifically, why would I do something else
John Rain · 2023-03-15 14:19
>>34784 The book is old. I think there is a recommendation for a modern C book in the C thread. Use that instead. You can read K&R after so you learn stuff, but use modern C version instead. Well, not modern enough, since it normal now to not use int, char and instead use the ones in stdint, because you want specific widths for ints. There is a good site on that also posted in the C thread.
Hiro Protagonist · 2023-03-15 15:15
>>34701 To go against Plutarch's quote you cited, the "what is really good"(which you partially cut out) evokes an idea of a greater good, which the person engaging in rather meaningless hobbies has unforeseen. Plutarch was also religious (according to Eduard Zeller, in his 13th edition of his Outlines of the History of Greek Philosophy.) Thus I think one could conjecture that the "really good" could be attributed to god, and not necessarily to a work ethic or productive perspective on usefulness. Though please note I'm not trying to debunk your claim, but rather bring more context to your quote. As to your question "... what are the foundation that all good programmers need to know to up the degrees of a mastering in computer science?" - I think you should try learning about computer science in a broader view by mastering simpler languages like Python, lua etc. Then go on and learn about one particular language where you excel and then learn a surface level of knowledge in the various sub and adjacent fields of Computer Science.
Morpheus · 2023-03-15 15:58
>>34687 >Can I consider this chart a good way to become a wizard? This chart has a lot of classic programing books that are still talked about and for good reason. If you master SICP, Intro to Algorithms, or The Art of Computer Programing I'm sure you will end up taking stuff away from them that will make you a better programmer then people who never bothered. But those people will likely be better at different aspects they focused on instead. There is no magic pill to becoming a wizard class 31337 H4X0R as that kind of skill in any profession requires intuition you can only learn from practicing the craft. Look at people like Bruce Lee and how they grew. They don't focus just on the theory behind their technique, they put it into practice until they master it. My advice would honestly be to figure out what you want to do. Be it hacking, being able to make an OS, automate computer tasks, and ect. Once you've figured that out focus on learning the programing langue and tools used in that industry and start working on projects around that. In-between working on a project and learning more about the tools you are using would be the best time to work your way through those books on the side. But don't start with them and waste all of your time learning esoteric programing concepts. The point is to build up the skills you need to adapt to your problem on the fly and solve it better then anyone else.
Kay · 2023-03-15 16:35
>>34700 Haha what? No it fuarrrking isn't
null · 2023-03-15 16:58
>>34700 Yes, however both languages have a lot of false cognate that can fuarrrk up interpretations.
Liet Kynes · 2023-03-15 21:04
>>34790 as a native spanish speaker, I can confirm.
HUN · 2023-03-16 11:08
>>34782 >No thanks, I'll stick to C. As much as I love python, the fact that numpy exists says a lot about the language.
Iverson · 2023-03-16 16:38
>>34802 That it's a scripting language? The whole point of Python and languages like it (Perl, Lua, Tcl) is to automate grunt work and/or glue together lower level libraries. That Python knows to stay in its lane and defer to C is a good thing.
progn · 2023-03-17 01:43
>>34781 "C is a meme" is a meme. It still works fuarrrking fine. >>34802 >says a lot about the language. What, that its extremely easy for people who barely understand computers to pick up so it ended up being used for everything under the sun despite its horrid performance? If you're a STEM user sure, use it, but if you're serious about programming as an independent activity and/or a powerful tool you should try to avoid Python when possible.
Faye Valentine · 2023-03-17 09:52
>>34813 C is a meme though. Well-written C++ gets you the same performance with way less headache. The only real strength C has is that it's easy to implement (which, to be fair, is a pretty big strength), but outside of that, the only reason to use C over C++ is stubbornness.
Acid Burn · 2023-03-17 10:26
>>34817 >Well-written C++ Which 90% of the time is a purposefully limited subset of the language. Carmack himself uses C++ but as "C-Flavored C++". C++ is enormous compared to C. The 2020 C++ standard is about three times longer than the 1999 C standard with about three times as much text per page on top of it. How much do you trust compiler writers to properly implement everything when basic GCC (C) is buggy enough as is? Do you trust that people will spend the time to learn the language properly? Do you trust that people can even learn the language at all? Do you trust that people have the proper judgement to use features properly? I don't. Stroustrup threw absolutely everything in C++ to increase its adoption and it shows. It doesn't help that C++ learning materials that I've seen tend to be lackluster as well compared to C resources.
John Titor · 2023-03-17 19:41
>>34819 C++ is definitely a bit on the larger side,but it's only outright enormous compared to C, which isn't a particularly high bar. As for everything else, sounds like a skill issue Present Day, Present Time! AHAHAHAHAHA!.
Jean Dupont · 2023-03-18 11:04
>>34842 When you compare it to languages with multiple implementations, I think it's the largest, no? Java Language Standard is small, Common Lisp is small, as you already mentioned C is small.
Agent Jones · 2023-03-21 20:01
>>34687 Fellow Brazilian here (not that it's too relevant). Try to approach these theoretical topics through what you already do. Learn functional programming, perhaps Elixir, or Haskell, or even learning it with JavaScript, then focus on learning the theory through the lens of those languages. I have a friend from our country who's living in Europe and working on Elixir. It's not like it's a useless pursuit, you can marry your search for theoretical knowledge with your webdev work. >>34790 >>34793 Portuguese is a little bit more phonetically complex than Spanish, and Spanish-speaking countries seem to have way less exposure to Portuguese media and content than the other way around, so Portuguese might not sound intelligible to you guys at first, but I promise you, a little bit of exposure can go a long way. Set a single video game's language to Portuguese and play through it, and you will unironically be understanding our language in no time.
Undisclosed · 2023-03-21 20:08
>>34880 I mean, I actually started understanding Spanish after I played a pirated copy of the original Call of Duty after I accidentally bought it in Spanish near the border with Argentina, lmao Never had to study it whatsoever, then of course I practiced it by taking in more input and sometimes speaking in online games; now, I can't speak it fluently, and my vocabulary may be full of false cognates, but my skills at the language are way better than those of the average native anglophone student, for instance