[ home / board list / faq / random / create / bans / search / manage / irc ] [ ]

/prog/ - Programming

Programming board

Catalog

8chan Bitcoin address: 1NpQaXqmCBji6gfX8UgaQEmEstvVY7U32C
The next generation of Infinity is here (discussion) (contribute)
A message from @CodeMonkeyZ, 2ch lead developer: "How Hiroyuki Nishimura will sell 4chan data"
Name
Email
Subject
Comment *
File
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Options
Password (For file and post deletion.)

Allowed file types:jpg, jpeg, gif, png, webm, mp4, pdf
Max filesize is 8 MB.
Max image dimensions are 10000 x 10000.
You may upload 1 per post.


File: 1425694384619.jpg (23.43 KB, 506x437, 22:19, 1399929260811.jpg)

a49a45 No.1589

Hey /prog/
I'm planning to get a degree in computer science (B.S) any programming language recommendations to be ready for my studies?

9d344b No.1591

Seriously?

C and then C++.

But you might want to start with something easier to learn. When you first start with C, the syntax will be wizardtalk to you and drive you nuts.

After C, moving to C++ is a bit of a jump, but it gets you into object oriented programming.

Knowing C/C++ is still in high demand in the career of programming.

Learning Python or even Basic might be a better place to START learning to code. Both will let you learn the basics of flow control (loops, test and branch accordingly), but Basic can get you in very bad habits. Easy to learn, but any coder will look down on you if you even mention it.

Other good things to learn: Java, C# (or C#.Net), ASM

Good luck!

99290c No.1651

want to make money? lots of money? learn erlang, ocaml, and F#

I wish I'd started there instead of with imperative languages, just makes it that much harder to wrap my head around.

e2709a No.2103

I’m not a professional so take anything I say with a grain of salt. I would say C followed by a more modern language with a large standard library. I have ruined my ability to use languages with small standard libraries as I expect everything to be there for me. I learned java and am now learning nim as it has a relatively small standard library, is nice to program and its quite fast. While I enjoy java it made it much harder to learn other languages.

e204aa No.2110

just learn any, it doesn't matter which.
note that there are functional and imperative languages. don't start with functional ones.

262e1a No.2123

If you want to make video games, C or C++, if you want to make web applications Java.

ea8e1f No.2148

In my classes, I had to use Java, C++, assembly (for x86), and C in that order. I also had to use Prolog and Racket for a small project. I already knew how to use about half of those pretty well before starting university. This is only my experience at my university.

For my research projects, I've had to use PHP, SQL, and JavaScript. I learned those on the job. I had to re-do a lot of the first things I did for those projects later on when I learned more about the finer details of the languages.


bb643c No.2155


847a42 No.2159

READ SICP


262e1a No.2161

Most important, don't do PHP, it sucks.


09caa6 No.2250

I know this isn't what you asked, but you should brush up on math. It will help you more (assuming your CS degree is actual CS, and not just IT).

Epp's Discrete Mathematics with Applications is a great book. It's easy to find online, and it's very popular, so chances are it will be your first year textbook for discrete mathematics.


4739ce No.2251

>>1589

>'m planning to get a degree in computer science (B.S)

python x 10 000

then C and C++

you'll be using them a lot

wouldn't hurt to start practicing on JES either


4739ce No.2252

>>2250

Have to agree with this guy. If you're math isn't up to scratch I would definitely practice, it makes a world of difference.


fbbd08 No.2296

>>2251

what this anon said, Python, C and C++.

They're useful and good.


39737b No.2438

JavaScript obviously


75dac3 No.2440

Don’t feel as if you’re Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don’t feel as if the key to successful computing is only in your hands. What’s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.


617f66 No.2441

What everyone's said is pretty accurate, but a good thing to know is that there is heavy overlap with programming languages, especially going from C->C++->Java->C#. They're all completely different, yet they share a lot of syntax…

Honestly, you learn one language and the carry-over is pretty substantial.

>>2250

>>2252

I agree with these guys. I just failed out of Linear Algebra, not a fun time. Knowing how abstract math works and how to do it can be necessary if you're not just in IT, but you need to have a good handle on your math.


40325e No.2443

>>2155

>not ++ >>1651


16df43 No.2499

>>1589

C, C++, (some dialect of) LISP.

C is small and simple (far simpler than python &c). People may caution you against it because python &c make it easier to get started, but you'll be crippled until you understand everything C forces you to learn. If you learn a more complicated language first because it's easy then you'll just waste time half-understanding enough things to get by and learning slowly because there's no need to do so.

You have to understand what you're doing in C or you'll fuck it up. It'll teach you the basics without shiny features making things so easy you don't learn.

C++ makes things a lot easier, and will introduce you to OOP. You could pretty much go for a whole bunch of languages here, but C++ will be the fastest to learn due to the similar syntax. Almost all C programs are valid C++ programs; so you can learn one new feature at a time. Don't bother too much with the functional or generic aspects of C++ for now, just focus on OOP, RAII, &c. C++'s support for functional programming is a shadow of the real thing.

LISP is the simplest and the nicest to work with; once you've got imperative and OOP down you need to learn a functional language. Haskell would also be a good choice. Mainstream languages have been growing closer and closer to functional programming languages every year, you may as well take a shortcut and get all the key ideas down. They'll help you even outside of functional languages.


16df43 No.2500

>>2499

P.S.: Learn Java because it's popular and gets you jobs (good lord you'll hate it after LISP though), and learn Python for the same reason (good for scripts too).

I'd also recommend becoming familiar with basic complexity theory, common algorithms, a little graph theory, and data structures.

IDK about you but most of what I was taught under the name of math before uni was boring and useless; most of the math I learned in uni is invaluable. Math is really just applied logic, and provides tools for thinking in the much same way engineering provides tools for doing; the more relevant math you know, the easier complex things become to think about. Math acts as an amplifier for ones ability to reason and while the boring parts are a pain to learn, once it becomes intuitive you'll have gained a valuable ability to think in a new way.

Choosing the right data structures, and the right algorithms makes your life far easier; and allows you to optimise when you need to (and don't do it until you need to.)

If you want a crash-course tour of compsci then read Godel-Escher-Bach.


85c306 No.2587

you might want to learn other language before C# because frankly C# will spoil you rotten with syntax suggar..

the only thing besides c# i feel like coding is javascript but that because i find prototypal inheritence almost as fun :p

plus they go together well.

But java will for ever feel like a gray bleek depressingly limited thing for me : )

Microsoft business model going ahead seams to be to spoil programmers rotten with awesome sause until they drown in it and then drag them over to windows azure.

on the plus side at least this strategy is one in which they actually embrace open source instead of trying to compare it to canser.

Anyway most languages over lap with a few crazy exception…

there is a crazy language that i think is called cat where the operator comes last in a statement… that kinda freaky…

and i am not sure brainfuck even truely qualifies but except for the crazy stuff moist is similar…


3354e3 No.2667

>>2250

+1 on this.

I'm studying software dev and for the first half of the course we're mostly learning maths, Discrete Mathematics (two semesters), Linear Algebra, Analysis (3 semesters), Probability, Logic and Computation, and a bunch of theoretical programming.

Basically all the foundations that you need to know regardless of any specific programming language or computer. Stuff you need to know if you want to become an actual professional and not just some codemonkey.

If anything, I definitely recommend getting familiar with Discrete Mathematics, as that basically shows you how components of most of maths actually work "under the hood", which is basically the foundation of any further higher level mathematical studies.

As for a programming language, we began with C++, I would recommend something similar. Any language where you actually have to think about what the computer (and your code) actually does with the memory etc., otherwise you'll be spoiled and will have a harder time learning them when you'll inevitably have to. (As opposed to the inverse, in which case you'll find it really easy to learn e.g. C# after learning C++).

Also if you haven't been to uni before prepare to study shit tons compared to high school, and I do mean it. It's exam season right now for me and I spend all of my afternoons studying for exams, and there were also days where we wrote a test in the morning, studied all day and then wrote another test in the evening. The trick is don't let all the maths and complicated shit they dump on you scare you. Anyone with a bit of intelligence and aptitude can learn it, it's not black magic, so don't shit your pants after your first Discrete Mathematics lecture like I did.

Of course if you just want a job you don't have to get a degree per se (at least where I'm from), you can just learn one programming language really really well and then get a job with that (just don't expect it to be a particularly good one or to be able to move up anywhere significant).

>>2441

I almost failed Linear Algebra myself, I'm planning on studying it a bit more over the summer because I'll actually need it where I want to work.




[Return][Go to top][Catalog][Post a Reply]
Delete Post [ ]
[]
[ home / board list / faq / random / create / bans / search / manage / irc ] [ ]