been interested in learning programming, looked at the Veeky Forums wiki but i didn't think any of the books were what i was looking for.
any book recommendations would be helpful to get me started. also any recommend languages to learn, I've learnt some python and know enough to make beginner programs.
i guess i haven't thought about what i would use it for, but say i was to go into statistical programming with languages like SAS is it better to start with SAS or something else?
Caleb Kelly
to learn the fundamentals of actual programming, like how to think about programs in an intelligent, wise way: SICP. it's an excellent introductory textbook to programming
>statistical programming learn R
Owen Jenkins
Learn python, its incredibly easy, then look at julia if you want to learn a nice language with little effort thats immensly powerful, or R if you want something different thats incredibly powerfull
Then if you want to dive a bit more into programming, look at java
If you want to learn something practical after python, check out sqlite, and how to use it w. python
Dont take up a functional language other than lisp/scheme, and just touch on them briefly Dont get tempted by haskell/scala, those are a waste of time, if you desperately want to, do oCaml, its the only one thats marginally relevant
Dont ask /g/ they will throw you out after suggesting C, python and gentoo
Source Bs in engineering physics and software engineering
Thomas Sullivan
user, thank you so much.
Camden Hernandez
Learn C++
Cameron King
This, I work in bioinformatics. Nothing matches R for statistics
Jaxson Rivera
racket and C are all you need, literally
Isaiah Ramirez
>Then if you want to dive a bit more into programming, look at java
Java is a terrible language and should never be used by anyone.
Nolan Rogers
Java is objectively a better C++, though this is damning with faint praise.
Mason Watson
R
Nathaniel Nguyen
who is this fluid druid?
Joseph Cox
Good post, except if OP wants to delve more into programming C++ is a better language than Java. Java becomes a slow clusterfuck of a language very often
Easton Watson
what do you recommend for python, user? codecademy, coursera, ?
Jose Phillips
Personalyl I used Python Programming for the Absolute Beginner by MIchael Dawson
If I had to teach someone to program I would start out with assembly, then C, the C++. This should be the way it is taught in universities.
Joshua Diaz
Best language for sure is MATLAB, python is a wannabe. Got my job in CS cause solely cause I knew it. Just decide on projects you want to do and use stackexchange/mathworks for help
Ryder Rogers
Assembly is nice, put it isn't really programming, it just uses more abstract programming concepts, i.e. harder concepts. Assembly is more moving literals around. If you learn programming first then you learn stuff on a curve and everything is easier
Cooper Gray
Download visual studio, use C/C++ for low level/high performance and C#/F# for everything else. Be sure to learn your data structures like linked lists/binary search trees and algorithms like bubble sort/genetic algorithms. /g/ has the gentoomans library which you should download, it's a treasure trove of programming knowledge.
Gabriel Long
>Java is objectively a better C++
No it's not.
Charles Martin
Programming: Principles and Practice Using C++ by Stroustrup ⇓ Algorithms in C++ Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms by Sedgewick ⇓ Algorithm Design by Kleinberg and Tardos
Michael Sanchez
>shitty java vm >objectively better than compiler JIT compilation > VM trash, nobody likes needing layers of bloat installed on every machine just to run a program. This is why java should be replaced with c#, it's cross-platform and you can get native code out of it.
Blake Reyes
Java is cross-platform as well, specifically BECAUSE it uses a VM. C# essentially uses a VM too, that's what the .NET runtime is. And even if you can get native code out of it (by which I assume you mean an executable that will run without the .NET framework), that's not how it's usually done, and you'd probably lose a lot of the features provided by .NET that make it such a useful language in the first place.
Logan Smith
Best first language is Python. R is for statistics and big data in general. Its fairly easy to learn. You do need training in statistics to do the computation. Also remember you're trying to learn the basics. Like for, while, for loops, if and etc. The real stuff begins when you're trying to do your own stuff and you got to learn what libraries to use.
James Gutierrez
>CS majors
And they wonder why we make fun of them
Zachary Ross
>Java is cross-platform as well, specifically BECAUSE it uses a VM.
Have you ever tried to use java "cross-platform"? It's a fucking nightmare.
Carter Hernandez
Best programmers are always math or physics majors from my own experience in the world. Statistic folk are great at the heavy lifting for computation coding. I love seeing them sperg out with math majors. Its a fucking hoot.
Gavin Nelson
.net isn't a vm, it's a collection of libraries. All languages in the CLR are JIT compiled to an executable that can be distributed to other machines. C# executables work fine without .net while java can't work at all without vm bloat which makes it inferior.
Lol no, chemical engineer here.
Justin Gonzalez
Jesus, how did I never find out about gentooman library? Why it's not in /g/ sticky?
Michael Foster
>JIT compiled to an executable You do not understand the words you're using.
Aiden Garcia
Not that user but my trajectory was Codecademy -> two edx courses on Python by MIT -> Coursera corses on Python by U Mich. Other stuff, like books and practicing on my own too, of course. Codecademy will give you just a taste of the language but you won't be totally clueless if you decide to take other courses, like the ones on edx from MIT, which are VERY demanding for a beginner but also incredibly rewarding. Coursera courses by U Mich are also good but oriented more towards practical use of Python, not so much towards CS fundamentals, which the MIT courses give you. Good luck.
Joshua Anderson
>visual studio >C#/F# for everything else. Microshaft shill detected.
Charles Morris
Repeat after me Lisp, C, assembly in that order.
Aaron Moore
Lisp seems a bit much for a first language. I'd say he start with Java, in spite of all the shit it gets on here. It has straightforward syntax and provides strong foundations in OOP, which is currently the industry standard.
Elijah Mitchell
Install linux, a easy distro like xubuntu is fine. Learn how to use the command line to operate over the file system. Learn how to use super user privileges efficiently. Now you can Install your text editor and you should start to learn vim. Disable your arrow keys and mouse so you will not be tempted to use them. If you have small hands or a huge key board you should rebind the escape key to the caps lock, you will need it.
Once you are proficient at vim you should start learning c, since you are not in to ce you can skip assembly. Start learning about git too, you will need it. One you compleated a working 20k line long modular project move to c++ and learn object oriented design. Learn about cmake.
You can now move to python
Lucas Martinez
>Lisp seems a bit much for a first language. I'd say he start with Java. That would depend on what OP plans to do, Java may be better suited for Software Engineering, but Lisp is better suited for Computer Science.
Cameron Harris
>Lisp seems a bit much for a first language. I'd say he start with Java, in spite of all the shit it gets on here. Why not Scala, then? Learning something with a strong and relatively advanced type system seems like a good idea anyway.
Henry Diaz
>you should start to learn vim. >Disable your arrow keys and mouse so you will not be tempted to use them. If you have small hands or a huge key board you should rebind the escape key to the caps lock, you will need it. bullshit, that's the WORST way to learn vim. it will just end up with OP being buttfrustrated about vim for life and never using it
the better way to learn vim, the way that actually teaches you its value and utility, is to run through vimtutor once or twice so you're at least exposed to the concepts of modes and the most used hotkeys, and then start using vim like any normal plaintext editor. just pretend it's notepad. and then, every time you have an infomercial "there's got to be a better way!" moment, look it up, because there is.
Hudson Martin
ebin /g/ meme, brother
Hudson Johnson
Can't you just run the .class files on any computer that has the JVM? I thought the only issues would be if you're dealing with different JVM versions.
JIT compilation means it's compiled at runtime, so you can't distribute the executable to other machines unless you have some weird way of copying it out of memory.
Sebastian Allen
t.no employment, education or training.
Ryder Powell
codecademy.com
now feck off ya git
Gabriel Hernandez
how hard is it to get a software developer job with a physics degree? i'm debating between computer science and physics.