No.431
I’m currently studying for a degree in Computer Sciences. Before choosing this, most people i’ve consulted told me that I should instead take Engineering since I was an academic student. But I always had a keen interest in IT related fields. Now that i’ve chose this, I don’t know what i should be doing next. Whether i should learn how to code or what? So far, programming is the only thing on my mind.
>TL;DR: nerd cannot decide what he should do after he’s done with his CS degree.
ITT—Suggestions on what i should do. Is coding worth it? Which language is the most valuable (and/or) easy to learn?
____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.444
>>431
How long have you been studying right now? Not knowing that makes it kind of hard to answer that, but it seems as if you're just at the beginning.
Learning to get good at programming is a good idea. This way you get in the habit of doing practical things. After a couple of semesters you could look for a programming job for students. The easiest thing to get into is probably the whole web development thing, many webdevs are needed because of the whole web fad. Customers want web guis now instead of oldschool applications, so there's a lot to do but it also got more complex than it was fifteen years ago. Basics for that would be HTML5/CSS3/Javascript. Backend languages could be stuff like PHP, Java, again Javascript, Python and many others.
It's even better if you don't go for the web dev route immediately and learn something like C or C++ though. Before you can do anything productive you need to get your basics down and if you learn them in good old C it's as bare bones as it gets while you don't have to think about stuff like object oriented programming.
Aside from programming you could always be a sysadmin and there's a lot of money in the whole IT consulting business. There are really too many different things you can focus on to list them and the whole programming stuff is just a really interesting fraction of it but you should get to know many of them while studying anyway.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.469
>>431
If you're an academic, then double major in Math and CS. For CS concentrate on crypto and security. That way you still have a foot in the IT world, but can do things that Pajeet cannot understand.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.473
>>431
>computer science
>should I learn to code?
do you honestly expect to live a fulfilling academic carreer studying algorithms and shit, and never write a line of real code? Christ.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.480
>>444
>How long have you been studying right now?
I started in September.
Was thinking about learning Python, heard its pretty useful but I think it would be kinda complicated for me since I’m a newfag. Maybe I should start with C first.
>>469
Will maths be helpful? I mean i’ve always been good at it but I don’t think it’s that useful.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.481
>>480
You can't do much advanced CS without mathematics. If you're looking at crypto, it's mandatory.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.488
>>480
Former programmer gone number theory here: Yes, it absolutely is. Math teaches you the rigor and attention to detail you need in programming. Also, CS basically is a subfield of mathematics, so any more advanced courses will require math knowledge. That's assuming your school isn't dressing up job training as an academic degree of course, for all I know you're from Africa.
The starting language isn't very important in the long run. Once you have the basic concepts down, learning a new language amounts to learning its new concepts, and most popular languages are very similar. Whether that's a good or bad thing is up to your discretion.
In the short run however, C has lots of pitfalls and tends to bury you in details that are not so important when starting out; having to deal with overflow problems and memory management is a distraction when you're just trying to figure out how 2 make alggo werk, so consider a language with GC instead. Python should be fine.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.521
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.524
>>521
Mathematical logic is a very specific subfield. I doubt you actually read a single book on that list if you are recommending them here.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.529
>>524
Not him, but Enderton's Set Theory is quite comfy. For Mathematical logic, I liked Ebbinghaus (translated from German).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.530
>>524
They're all fields I've been interested in, as far as they are defined, in an amateurish philosophical (weak contemplative) way and have looked into how different mathematics field connect or derive from one another (weakly/naively). I haven't read a single one though. I found it on https://4chanlit.fandom.com/wiki/Charts (you have to copy the image link then remove the resize shit on the end in the URL to get the full image). I'm either half-attempting this mathematical logic or Kant & Fichte infographic.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.531
>>530 (You)
>>524
Maybe the Kant & Fichte and Mathematical Logic stack is the best stack?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.547
>>529
I didn't mean to say they are bad, I meant that they aren't really applicable here. Ebbinghaus is pretty neat.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.572
>>547
Alright, how would you critique this infographic then.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.906
>>572
I haven't read all of them and don't know all authors, but as usual I suspect that neither did the author, which is pestilentially common for some reason. Why do people recommend books they didn't read? You should be legally mandated to provide a justification for each entry in these things.
The list contains almost-legendary books (SICP, TAOCP, TMMM, …), standard textbooks, and competent authors on the topic in question so it's not like it's complete dogshit but a bunch of these seem very arbitrary. There are tons of decent introductory math books, so why pick these? TCPL seems out of place considering we are talking CS and not programming. Also I seriously hope the author's favorite package manager, the self-help book, the homotopy type theory seminar and the Emacs Manual are shitposting.
Mentioning sci-hub for papers but not Library Genesis for books is also a LOL. That's about all I can say. Protip: You can usually check the curricula and reading lists of your local university even if you aren't signed up.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.908
>>572
'Deep Work' seems interesting. Despite being intelligent, I have a terrible time focusing on my goals (probably why I am here right now). Hopefully there is some useful techniques in the book, and it's not just useless self-help filler.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1013
>>908
You can read Deep Work in about 20 minutes.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1014
>>1013
I did, I thought it was complete garbage self-help fluff with useless anecdotes.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1025
>>1014
Deep Work is fluffy compared to really good self-help books but the central idea is pretty compelling.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1030
>>480
>Will maths be helpful?
Programming is ALL maths. The reason software is an absolute garbage today is because in place of mathematics, the foundation they teach you is "software engineering" (read: OO nonsense).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1031
>>1030
Even software engineering would be an improvement. Nowadays they it's all about learning things quickly in "coding bootcamps." Basically just pile up buggy libraries on top of other buggy libraries until the right things appear on the screen. Performance is a "feature" you can figure out later once you get that 'sweet VC money.'
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1051
>>1030
>Programming is ALL maths
Nah chief it's about issuing instructions, as few and as efficient as possible, to a CPU.
>Programming is ALL maths
Perfect example of unnecessary mathematics being inserted into software development is list comprehensions in Python (fuck Python, OOP, and garbage collection btw). There is no reason to use what is effectively set builder notation in programming. It's just a silly one-liner that obscures code. What's even funnier is when third party libraries in Python break the ability for you to iterate over their data structures and force you to use a list comprehension.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1056
>>1051
t. mathlet
Python is a garbage language, the set builder notation is one of its few strengths.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1059
>>1056
You missed the part where I wrote, "fuck Python". Nothing better than a "programmer" that loves math but can't read English.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1060
>>1059
>>1056
>oy vey python sucks
>what's a better language
>lisp
Every single fucking time.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1061
>>1060
Never did I say that LISP was a good language and never did I say it was better than Python. Nor did I say that Python is a good language. All these mathletes need to go back to the classroom and let us who care about hardware write the software.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1063
>>1060
Not my fault that Python is a joke and Lisp did it better 30 years ago.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1064
>>1061
When you say mathletes, do do you mean mathlets? A "mathlete" is a person takes part in mathematics competitions. The last think I'd want is for a 'mathlet' to be working on hardware.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1065
>>1064
>When you say mathletes, do do you mean mathlets?
No, I mean mathlete. I'm trying to denigrate people who fellate mathematics in a way similar to those who say, "I fucking love science!". These attitudes are one in the same.
>What am I really driving at with all this?
People who push the "programming is all maths" narrative believe that the proper mindset when programming is similar to, or exactly like, the mindset when one is in a university mathematics classroom; however, this is not the proper mindset and leads a programmer to ignore important aspects of software development. You'll see these people push for languages like LISP and Haskell, or push for abstractions that "free themselves to deal with the problems they actually want to solve" while ignoring the technical and practical aspects of software development. These "programming is all maths" people brought us garbage collection, object orientation, and some of the most ineffectual programming languages to date.
>Are you suggesting that mathematics is not used is programming/software development?
No, not at all. Mathematics are used in software development. Want to compute a distance on a raster, find the shortest path, or perform some kind of hotspot analysis using a kernel density estimation? Well then you'll have to understand and use mathematics. The distinction that I'm trying to convey is that in order to use any of the aforementioned, you are not required to approach those problems the same way you would in a mathematics classroom: rote memorization of various forms of problems each with its extensive micromanagement and minute tracings. In contrast, all that is required is to have a conceptual understanding of the mathematical process, or processes, at play and be able to implement that process on a computer. You do not have to approach it like you are studying for a math test and these "programming is all maths" people preach this classroom mentality shit in spades.
>Sounds similar or like nitpicking
This may sound like splitting hairs or a distinction without a difference but it's not. These problem-solving mindsets are in fact different. The classroom mindset (the "programming is all maths" mindset) is characterized by the extensive micromanagement of one complex problem at a time while the programming mindset is characterized by the extensive macromanagement of dozens, if not hundreds, of relatively simple problems simultaneously. These mindsets often lead to different solutions and I posit that the classroom mindset is the harmful one.
>Thanks for the wall of text
You're welcome. Let me just leave this awesome quote by Ashbel Welch, former president of the American Society of Civil Engineers from a talk of his on engineering education. "Too much time spent on scientific abstractions and refinements (however useful such things may be to the philosopher), is more than wasted by the engineer; it unfits him for practical usefulness. Napoleon said La Place was good for nothing for business; he was always dealing with infinitesimal quantities".
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1067
>>480
>Will maths be helpful?
No.
I am studying both and math has nothing to do with programming. Everyone who tells you otherwise is just sad he had to learn math and wants you to suffer too.
Math is only necessary if you do something with cryptography or gayming.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1069
>>1067
>No. I am studying both and math has nothing to do with programming
Report back if your opinion changes once you finish high school.
>>1065
Programming is an exercise in mathematical logic, it's the best example of math leaving the class room out there especially as it relates to verification, type checking, and provability. As for hardware, you will need mathematics to understand signal processing, and an understanding of logic to work in digital design.
As for this arrogant statement:
> let us who care about hardware write the software.
>Us, lol.
When you say "care about hardware" is that from a reddit "I FUCKING LOVE COMPUTING" perspective, or are you involved hardware design? For the latter, I'm curious what you think you're doing in hardware that isn't related to mathematics (physics as well). If you have an added interest in keeping up with the latest video cards, and just plugging them into your computer, then certainly you won't need much mathematics.
Look into the founders of computability theory and the designs of modern computer architecture, and you won't see any mathlets: Turing, Church, Boole, von Neumann, Babbage, Shockley to name a few.
As for LISP, I do like it, but haven't mentioned it in this thread, I'm more of a fan of scheme personally. These types of languages have their merits for very mathematical domains, but I don't think anyone is advocating writing an OS in them. Two related languages you may appreciate, spanning software/hardware, are Ada and VHDL. Both are great examples of quality software engineering with an emphasis on provable correctness. I don't think the math fans are demanding you right everything in Coq.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1070
>>1069
>you right
*write. ahem.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1071
>>1069
I appreciate the response but you hyperfocused on my arrogant statement of, "let us who care about hardware write the software" rather than addressing the real meat of my post:
>Mathematics are used in software development.
>The distinction that I'm trying to convey is that in order to use any of the aforementioned, you are not required to approach those problems the same way you would in a mathematics classroom: rote memorization of various forms of problems each with its extensive micromanagement and minute tracings. In contrast, all that is required is to have a conceptual understanding of the mathematical process, or processes, at play and be able to implement that process on a computer.
>These problem-solving mindsets are in fact different. The classroom mindset (the "programming is all maths" mindset) is characterized by the extensive micromanagement of one complex problem at a time while the programming mindset is characterized by the extensive macromanagement of dozens, if not hundreds, of relatively simple problems simultaneously.
>When you say "care about hardware" is that from a reddit "I FUCKING LOVE COMPUTING" perspective, or are you involved hardware design?
I am not actively involved in hardware design but I have used Xilinx Vivado for one of their FPGAs. When I say care about hardware, I'm referring to a better utilization of hardware from a software perspective; specifically, data-oriented design where you write software to efficiently use the CPU caches as much as possible. I see a lot of "programming is all maths" people completely ignore things such as any kind of manual memory allocation, slab allocation, structure of arrays, and various other things that allow for better utilization of hardware over their garbage-collected OOP shit.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1072
>>1069
>Report back if your opinion changes once you finish high school.
Seethe more.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1075
>>1071
Ahh fair enough, I see what you mean. Haskell is a good case of that, where you have category theorists with an abstract view of hardware as some generalization of a turing machine writing programs. This of course is fine for the work they're doing, but I don't think that's what people mean when they utter the "programming is all math" line. Without qualification, the line is a bit silly as it doesn't really communicate the intent. "Programming is an example of applied logic" is perhaps a bit clearer. Now with the category theorists dismissed to their ivory towers, there is still a lot other math guys can do to help you achieve optimal performance in "real" languages and for "real" work. Look at something like LAPACK and all of the work that has gone into things like Intel's MKL.
As for Xilinx, I think there DSP48 is a good example of applied mathematics for hardware. https://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf. Of course the "Place and Route" step in the FPGA Implementation step is another good example of an optimization problem where mathematics directly applies, albeit behind the scenes.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1076
>>1072
Let's not pretend it wasn't a good line though.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
No.1088
>>1075
>but I don't think that's what people mean when they utter the "programming is all math" line
>Without qualification, the line is a bit silly as it doesn't really communicate the intent.
I've encountered enough people who do or at least hold an opinion adjacent to it which is why I'm austically screeching about it so much. It truly is nonsensical in my view.
>"Programming is an example of applied logic" is perhaps a bit clearer
Absolutely agree, it's a far more apt definition.
>there is still a lot other math guys can do to help you achieve optimal performance in "real" languages and for "real" work.
Fuck yeah they can, cryptography and databases would be shit without them (I never tried to claimed they couldn't by the way) not to mention all the crazy hardware advances that have given us the convenience that we have today.
>As for Xilinx
Thanks for the reference and the response.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.