(Part 2) Best programming languages books according to redditors
We found 1,275 Reddit comments discussing the best programming languages books. We ranked the 287 resulting products by number of redditors who mentioned them. Here are the products ranked 21-40. You can also go back to the previous section.
Modern C++ (C++11 or later) books are not nearly as plentiful as those for Classic C++, but there are a few notables.
Bjarne's college text may be what you are looking for:
Programming: Principles and Practice Using C++ https://www.amazon.com/Programming-Principles-Practice-Using-2nd/dp/0321992784/ref=pd_sim_14_2/144-7765085-0122037
It is aimed at engineers, which makes it less general, but might be good for you.
Of course his general intro is also updated to C++11.
The C++ Programming Language https://www.amazon.com/C-Programming-Language-4th/dp/0321563840/ref=pd_sim_14_2/144-7765085-0122037
This is aimed at experienced systems programmers, so it may be a bit heavy for students, which makes the Primer (that you mentioned attractive).
C++ Primer https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113/ref=pd_bxgy_14_img_2/144-7765085-0122037
Be certain to get the 5th edition.
Of Scott's books only the latest is Modern.
Effective Modern C++ https://www.amazon.com/Effective-Modern-Specific-Ways-Improve/dp/1491903996/ref=pd_sim_14_2/144-7765085-0122037?_encoding=UTF8
This is less an introduction for students than for Journeymen (Journeypeople?) programmers.
For just plain good programming style consider Ivan's book.
Functional Programming in C++ https://www.amazon.com/gp/product/1617293814
Don't be put off by "Functional." This style of programming will make your students excellent programmers.
There are some modern books of high quality that are niche.
The ultimate guide to templates:
C++ Templates https://www.amazon.com/C-Templates-Complete-Guide-2nd/dp/0321714121/ref=pd_sim_14_1/144-7765085-0122037
The ultimate guide to concurrency:
C++ Concurrency in Action https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/ref=pd_sim_14_1/144-7765085-0122037
Some library options:
Despite its name, this is mostly reference. A very good reference.
The C++ Standard Library: A Tutorial and Reference (2nd Edition) https://www.amazon.com/Standard-Library-Tutorial-Reference-2nd/dp/0321623215/ref=pd_sim_14_2/144-7765085-0122037
Arthur's book covers C++17, which makes it one of the most modern on this list:
Mastering the C++17 STL: Make full use of the standard library components in C++17 https://www.amazon.com/Mastering-17-STL-standard-components-ebook/dp/B076CQ1RFF/ref=sr_1_fkmrnull_1
To what extent are you teaching C++ and to what extent are you teaching programing?
Good luck and have fun!
I can suggest to grab yourself a copy of C++ Templates: The Complete Guide. It's a great book.
I reached level 24 (French) and I gave up Duolingo (well, not completely, I learned Ukrainian there, just for fun) It is an effective resource for beginners but your time will be better spend on something else. You can of course still practice your language there as it's quite cool (and you can realise how much you learned already so you build up your confidence) but you won't learn that much.
When I bought a French textbook I was quite shocked that they didn't cover even some very basic concepts. You need a good grammar book. It is crucial.
Also, you need to practice listening and speaking a lot if you haven't done it yet. Try language immersion (TV etc.), speaking to native speakers (Skype lessons for start, French usually costs about 10-15 euro per hour). Reading every day for a couple of minutes (with google dictionary installed) helps a lot. At level 20 you should be able to read press like Reuters or BBC in your target language (their articles are really well written and easy to follow)
Also, you need to learn a lot of words to be really proficient. Not 2000 that Duo is teaching. More like 5000-7000 so a lot of serious studying is required. I personally think that learning additional 2000 words would be a lot more rewarding than just regilding Duolingo over and over again.
I just saw that you finished French tree. So...
The grammar book that I have used:
https://www.amazon.co.uk/d/Books/Practice-Perfect-Complete-French-Grammar-Premium-McGraw/1259642372/ref=sr_1_1?ie=UTF8&qid=1492001774&sr=8-1&keywords=french+grammar
I am not sure if it is your price range, but she helped me a lot https://www.italki.com/teacher/2404952
Bonne chance!
I used R for about 4 years before I moved to Python to use it for deep learning. I have been using Python for about 2 years now.
>Are R and Python considered redundant, or are there some situations where one will be preferred over the other? If I become proficient at using Python for data wrangling, analysis, and visualization, will I have any reason to continue using R?
It depends. I haven't really found anything that I can do in Python that I could not already do in R. I still use R because I like it better as a functional programming language and because it has a wide variety of more specific statistical packages (many for biology) that are just not available for Python yet. There are some specific cases where I just find it more intuitive and simpler to implement a solution in R. And generally, I just prefer ggplot2 over any of the various Python plotting packages. Also, R has high level API for things like TensorFlow so it's not like you can't do deep learning in R.
The biggest advantage for Python is its speed and ability to work within a larger programming framework. A lot of companies tend to use Python because the models they build are integrated into a larger system that needs the capabilities of a fully-fledged programming language. Python is generally faster and has better management of big data sets in memory. R is actually moving more in the direction to fix these issues but there are still limitations.
>Where should I start? I'm looking for a resource that isn't aimed at complete beginners, since I've been using R for a few years, and took a C class before that. At the same time I wouldn't claim to be an experienced programmer. I'm interested in learning Python both for data analysis and for general programming.
I learned Python syntax using Learn Python 3 the Hard Way. I learned about Pandas and data wrangling etc using Pandas for Everyone and Pandas Cookbook. If I was to suggest just one book, it would be Pandas for Everyone. You can learn Python syntax from YouTube, MOOCs, or online tutorials. The Pandas Cookbook is just extra practice. To be honest though, the general conventions used by Pandas for data analysis and manipulation are very similar to R in many ways. Especially if you've used anything in Hadley Wickham's Tidyverse. Finally, I made a Pandas cheatsheet while I was learning and including equivalent R functions in some places. I would be happy to share this Google Sheets file with you if you are interested.
>What IDE(s) should I use, and what are some must learn packages? I'm hoping to find something similar to RStudio.
I started off using PyCharm. I've heard good things about Spyder. But now, I actually still use RStudio! It is fully integrated with Python thanks to the Reticulate package. You can pass data structures between the languages and use both in RMarkdown. You can also use virtual environments which are popular with Python. Once you install the package:
library(reticulate)
use_virtualenv("path_to_my_virtual_env") # Start virtual environment
You can now run Python scripts directly in the RStudio console
It's really easy to use and even comes with auto-complete and everything else.
Hope that helped.
For QGIS I would suggest: https://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/
If you are into arcpy, "Python scripting for arcgis" is a fantastic book to get you up and running:
https://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589483715
Books:
"Doing Bayesian Data Analysis" by Kruschke. The instruction is really clear and there are code examples, and a lot of the mainstays of NHST are given a Bayesian analogue, so that should have some relevance to you.
"Bayesian Data Analysis" by Gelman. This one is more rigorous (notice the obvious lack of puppies on the cover) but also very good.
Free stuff:
"Think Bayes" by our own resident Bayesian apostle, Allen Downey. This book introduces Bayesian stats from a computational perspective, meaning it lays out problems and solves them by writing Python code. Very easy to follow, free, and just a great resource.
Lecture: "Bayesian Statistics Made (As) Simple (As Possible)" again by Prof. Downey. He's a great teacher.
Here are a couple of things I would recommend anyone diving in more depth into Django:
Like those before me, I had been doing the same thing. It's a practice I borrowed from the 2 Scoops of Django book.
It's served me well and I think it's fine to do this, but in a recent project I started using the project django-configurations which has also been pretty nice to use. It allows me to create individual python modules (common, local, staging, production, etc.), but where it's completely different is each module contains a class-based representation of the settings your'e interested in. Each non-common/base configuration (like staging) would inherit from the common class. It's quite nice in my opinion and recommend a look to see if it works for you.
EDIT: By the way, I discovered django-configurations via setting up my initial Django projects using django-cookiecutter and using the cookiecutter-django template. Take a look at their requirements files to see the load of stuff they start you off with. There's serious efficiency boosters in there that I've been using a lot lately and makes my life a bit easier once you get the hang of it all. Hope that helps!
Now this is an interesting and difficult question, which depends on many things. For starters, if you find this process frustrating that is unfortunate, because learning how to code is usually a trail and error + revise your work process. In other words, its supposed to be both frustrating and rewarding, like a hard (text-based) video game. For me its half of the fun.
What you want to learn really depends on the context. If you are really diving into econ, Stata is still very common. More stats-heavy, new, or interdisciplinary fields tend to use R. If you work with big, live datasets, or work with computer scientists, learning Python is always a plus. But obviously start with one.
I am proficient in stata simply because I had classes in it, it is difficult for me to advice how to self study. I learned most of the basics through An Introduction to Modern Econometrics Using Stata, and later on most of my R through R for Stata Users (Statistics and Computing) . I also learned some R through Discovering Statistics Using R, but I find Field obnoxiously failing to be funny, so I wouldn't reccomend it.
I'm now in the process of learning more Python, to do some more programming work on the side. As a start I used Learn Python 3 the Hard Way recommended to me by a very proficient friend of mine. This however does not give you much of an intro to stats in python, only the very very simple basics you can use as a vantage point for further work.
If you have learned the basics, tbe hest way to learn more is just to fool around. What is your field of interest? I like a lot of macro, so I used to just go to Quandl, pick some free databases, import them, and run some fun stuff. This is the best way to learn, especially if you for example try to merge free World bank databases with a different database from Quandl, as it will give you a lot of errors whilst merging and conversion problems later on.
If you are a bit more proficient you can start using websites like upwork to get some assignments. Usually it doesn't earn you much at the start, but the experience of actual assignments is the best way to self-teach. A different manner I like to do (if you are still studying) is offering your services (for free) to a professor. Ask him/her if there are still projects they are working on for which they need some to look at. Usually you will be treated solely as someone for the code, but it generally gives you a lot of experience and the right contacts.
These are just some of my thoughts. If you could provide some more context of where exactly you want to go, I could go into more detail.
Edit: What I forgot to say is that if it is not possible to study a course, I would recommend doing at least one MOOC to get you at a basic level.
https://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589483715/ref=sr_1_1?ie=UTF8&qid=1498483938&sr=8-1&keywords=gis+python
100% recommend this to get a grip on what python does in GIS
The "For Dummies" series of books will get him going. Personally though I would suggest he start with DarkBASIC or BlitzBASIC and make his own games with those. Java isn't difficult but most examples in books will output to to a text based console - a very far cry from the interactivity he's used to.
Another excellent book is http://www.amazon.com/Java-How-Program-Edition-Deitel/dp/0132575663 The book is much less expensive in Asia.
There are several dragon books. The original is the Green Dragon Book - Principles of Compiler Design from 1977. That was my textbook in 79. Wouldn't wish it on anyone, although perhaps because we were using a FORTRAN II compiler on an 1130 to do the coursework.
10000 limit again. Reserving this comment for the Programming section:
PROGRAMMING
Gray Hat Python: Python Programming for Hackers and Reverse Engineers
Beginning Python
The Python Standard Library by Example (Developer's Library)
Shell Scripting
Shell Scripting Recipes: A Problem-Solution Approach
Linux Command Line and Shell Scripting Bible, Second Edition
Wicked Cool Shell Scripts
sed & awk (2nd Edition)
The Ruby Programming Language
Beginning Ruby: From Novice to Professional
Ruby on Rails 3 Tutorial: Learn Rails by Example
Agile Web Development with Rails
Automating Microsoft Windows Server 2008 R2 with Windows PowerShell 2.0
Pragmatic Guide to Subversion
Programming Perl
C++ Primer Plus
The AWK Programming Language thanks sjhill
Modern Perl thanks three18ti
High-Order Perl thanks three18ti
The Art of Scalability thanks mr_chip
Scalability Rules thanks mr_chip
Continuous Delivery thanks mr_chip
The Varnish Book thanks mr_chip
There are a few good grammar review books out there. The Ultimate French Review and Practice is good, as is Practice Makes Perfect: Complete French Grammar.
Depending on how well you read, a quick read of the Bescherelle books (in particular Grammaire would be good). You're reading in French and just getting a solid presentation of the grammar. It might be boring, but what I have done is read one small bit and then focus on that for the next little bit while I read/talk/speak. Then I grab another bit of grammar (doesn't even have to be related to the previous one) and just focus on that for a bit. I've found that you don't have to fully review every little bit to death- once you start using that part of your brain again things kinda just fall back into place on their own.
I saw Deadpool with my mom and me. That's technically one of the families I belong to, parents being divorced and all.
I loved it, but it wasn't the absolute best. Pretty far up there though.
I don't know any writers.
Nice try, police!
My favorite color is green, but I love to wear blue.
My favorite gun is a finger gun. I can take it anywhere and it's not deadly!
Don't really know...
I had an instant breakfast drink (basically chocolate milk with vitamins and stuff added)
I think the most recent is "How to remove clothes in Photoshop". It's not as perverted as it sounds, I wanted to get rid of the suspenders someone was wearing. They had a T-shirt clearly visible underneath, but I couldn't just retake the photo.
Murder them all! A dead employee cannot tell secrets.
Unicorns
Assembly Language for x86 Processors (7th Edition)
This is a really good book on Bayesian statistics, but Kruschke is coming out with a new edition in about two months with completely different code. It's going to use JAGS and STAN instead of BUGS.
I started getting interested in C# after PHP, and I absolutely love it now!
If you google for "C# tutorial" you'll find articles which take it form the very beginning. Only make sure they're recently written.
If you want books, you can check out C# 4.0 The Complete Reference and C# 4.0 in a Nutshell: The Definitive Reference. There is also a free language specification available from Microsoft: C# Language Specification 4.0.
Considering that you're a network engineer, you might want to use C# for solving network-related stuff. There's a book for that, C# Network Programming (although, it might be a little bit old.)
When you start developing in Visual Studio 2010, make sure you also install the ReSharper extenion, which can be very helpful even for a seasoned developer.
A free edition of Visual Studio is available under the name of Visual C# 2010 Express Edition. If you want Microsoft Visual Studio 2010 Ultimate version, a 60-day trial is downloadable. Alternatively, you can get the free and open-source .NET IDE SharpDevelop.
I hope you'll love the language as much as I do. :)
Tfw I'm the most knowledgeable person about statistics I know and I have read 0 of these books. Time to get reading! Although I still want to go with Doing Bayesian Data Analysis: A Tutorial with R and BUGS over Gelman et al because I want to do all the work in R. The book itself has 51 reviews on Amazon, 44 of which are 5 stars, for a mean of 4.8. That seems very good.
Saved this thead for future reference. :)
Starting Out with C++: Early Objects (9th Edition) https://www.amazon.com/dp/0134400240/ref=cm_sw_r_cp_apa_i_FOmPDbXRV1NJ8
Microsoft has some good resource here
Traditionally O'Reilly's "In a Nutshell" series have good books for newcomers. I have not read their C# book though.
> learning to program. Now as I want to make a living from it
> which pick gives more money? Programming vs web design
Wait, do you do want to make a living programming, or are you looking for what job in any field will give you the most money? Because web design is not programming.
To be a web designer you study color, composition, typography, user interaction, etc. To be a programmer, you study computers, languages, algorithms, data structures, etc. Totally different disciplines.
> Also, if programming is the pick, what is powerful language and not too damn hard to learn? [..] C#'s code looks simple, I like it.
I googled for "beginner programming book C#" and found this, which looks pretty well reviewed. Might be a good place to start.
What you don't want is just any old C# book. For instance, my favorite C# book by far is C# 4 in a Nutshell: The Definitive Reference. It's a fantastic book if you already know how to program, but next to worthless for you. You need a book that teaches programming.
I really like The R book as it teaches you stats at the same time as teaching R. However, opinions on Amazon differ wildly, so I'd check a copy in your local bookstore before buying.
I've updated the list, as I remembered Wirth's book and that got me a couple more hits. Chapter 8 of Watt's book is devoted to interpretation but the treatment is cursory, since the focus is on compilation.
I can't think from the top of my mind of any books dealing specifically with interpretation techniques for imperative languages. I can recommend some nice books on vaguely related techniques:
Hope this helps, as it is very much a mixed bag of recommendations.
Here's the instructions
http://www.amazon.co.uk/Threaded-Interpretive-Languages-R-G-Loeliger/dp/007038360X
You can find it as a pdf online with google foo
This is my first time reading this page and I am quite the amateur programmer.
I am an Assistant Professor in Criminal Justice; however, my passion is quantitative methodology and understanding big data.
I had a great opportunity to spend a summer learning Bayesian at ICPSR, but to be honest some of the concepts were hard to grasp. So, I have spent the greater part of the past year learning more about maximum likelihood estimations and Bayesian modeling.
I am currently reading The BUGS Book and [Doing Bayesian Analysis] (https://www.amazon.com/Doing-Bayesian-Data-Analysis-Tutorial/dp/0123814855/ref=sr_1_fkmr1_3?s=books&ie=UTF8&qid=1519347052&sr=1-3-fkmr1&keywords=bayesian+anaylsis+bugs).
I regularly teach linear modeling at both the undergraduate and graduate level. Lately, however, I have become interested in other techniques of prediction such as nearest neighbor analysis. About a month ago, I successfully created a model predicting plant specifications with the help of [Machine Learning with R] (https://www.amazon.com/Machine-Learning-techniques-predictive-modeling/dp/1784393908/ref=sr_1_2_sspa?s=books&ie=UTF8&qid=1519347125&sr=1-2-spons&keywords=machine+learning+in+R&psc=1). Of course, this is probably elementary for many of you here but I still found the process easy to understand and now I'm planning to learn about decision trees and Naive Bayes analysis.
You don't really need to learn to write ASM. But if this is something you wan't to do then the book I used was Kip Irvines Assembly Language. https://www.amazon.com/Assembly-Language-x86-Processors-7th/dp/0133769402/ref=sr_1_1?ie=UTF8&qid=1518658846&sr=8-1&keywords=kip+irvine
The IDE I use is http://www.visualmasm.com/ and you have to install the MASM assembler http://www.masm32.com/
This is all assuming you're running a windows environment.
I am also a beginner but all that I have red says that slicing is kinda dead and outdated.
I am learning html5 und CSS3 right now and I guess you could do a website like this very easily.
I started with that book and I love it :)
HTML and CSS: Design and Build Websites von Jon Duckett http://www.amazon.de/dp/1118871642/ref=cm_sw_r_udp_awd_.Qhktb1AY9TQP
But because of my health right now I keep forgetting everything over and over again and so I have to start reading the book from the beginning a lot. But what I got so far: very interesting and you learn a lot. Every page is in color and has many examples.
Maby you want to add a front-end network later like skeleton so that your website automatically changes appearance based on if you open it in mobile or desktop...
Sorry for my bad English and I don't really know if what I wrote makes sense... Because I am too a beginner.
Nice list. But how about DCPL, Design Concepts in Programming Languages?
The Python Standard Library by Example by Doug Hellmann is a great way to get you more comfortable using the various modules in the standard library. I believe the book was inspired by a series of blog posts Hellmann previously wrote each week on Python topics called Python Module of the Week. Both the blog and the book itself present the material in the same way - basically, each chapter or blog post covers a specific module in the standard library with examples of how to use its key features.
I recommend you to first study probability theory, (formal definitions, variable independence, moments, limit theorems, and some distributions) this is my favorite course, but it's in spanish http://lya.fciencias.unam.mx/lars/0625/, then I recommend this course in MIT: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041sc-probabilistic-systems-analysis-and-applied-probability-fall-2013/ it's going to take you a couple months to finish it, it's a lot of material, you can complement the material with this course http://oli.cmu.edu/courses/free-open/statistics-course-details/ (it has some r exercises). and in the road, try to make all the ocw homeworks on r, using Rmd, and some latex. Use the R book as a reference http://www.amazon.com/The-Book-Michael-J-Crawley/dp/0470973927
Learning R, is more about learning the math behind probability and the basic concepts of statistics than learning the language.
First, read our Wiki. It is very thorough and answers a lot of these common questions such as
day to day? The Practice of System and Network Administration
And the topical reference books listed below.
Books to help in shaping a sysadmin? The above &:
The Phoenix Project
Time Management for System Administrators
Topical Books I see mentioned often and have been very helpful to me:
Powershell in a month of lunches
Learn Python the hard way
Unix and Linux System Administration Handbook
Windows Server 2016: Inside Out
Group Policy
AbsoluteBSD
FreeBSD mastery:ZFS
CCNA
RHCSA/RHCE
Pro Puppet
SSH Mastery
On my docket:
FreeBSD Mastery: Advanced ZFS
Michael W. Lucas and Thomas Limoncelli are very good sysadmin writers, you can't go wrong with a topic they have chosen to write about.
Most of the *nix stuff assumes a baseline knowledge of how to use a unix-based system. I learned as I went but did pick up an old copy of Unix Visual Quickstart Guide not too long ago at a used books sale, which seems like a good starting place for someone overwhelmed with sitting at a terminal and being productive.
I notice I don't have any Virtualization books, perhaps someone else can fill in good books. Most of my knowledge regarding virtualization and network storage has been a mix of official docs, video training, and poking at it. Seems innate but it isn't.
Amazon. Perhaps they mean this book
Best practices for django 1.6:
http://www.amazon.com/Two-Scoops-Django-Best-Practices/dp/098146730X/ref=sr_1_1?ie=UTF8&qid=1415059289&sr=8-1&keywords=django+best+practices
I haven't read it, but heard really really good things about it!
It's a reskinned second edition: www.amazon.com/Compilers-Principles-Techniques-International-Economy/dp/9332518661
And there's even a GREEN dragon book from 1977: https://www.amazon.com/gp/product/0201000229
For hardware demands, large datasets won't be as big of an issue as model complexity, but given that modern computing demands keep going up, I think 16 GB should be standard for anyone getting a new computer. You'll be less likely to need to make an upgrade in the near future when OS and other software demands require you to do so. The bigger thing to consider is the read/write speed of your hard drive, so definitely go with an SSD. This will also help with power consumption and durability. For your CPU, R doesn't default to using multiple cores, so you'll want to look at single-core benchmarks when picking out your machine. With that being said, R does use multiple threads on a single core, so I wouldn't settle for an i5. But if you're using MCMC, a multicore CPU can be a lifesaver since you can assign your chains to run on different cores in parallel.
I hope that helps. Good luck with your purchase!
Here's a neat little book if anyone is looking for a lot more details about writing one of these.
http://www.amazon.com/Threaded-Interpretive-Languages-Design-Implementation/dp/007038360X
Python Scripting for ArcGIS by Paul A. Zandbergen is a text published by ESRI, it is a few years old now and does not make use of Python 3 but its a good start.
Core Python Applications Programming is a great book. Touches on a TON of different technologies and the examples are very easy to follow.
How much Linux experience do you have?
What Python books have you read? I got some value out of Quick Python.
> Please review...memoization, OSI model, routers, switches
That's a little ambitious for 10 days prep with 6mo experience.
I'm unsure if posting a link is appropriate on this sub but I have found the linked book, "Python Scripting for ArcGIS," to be a really great source for beginners (such as myself).
https://www.amazon.com/gp/aw/d/1589483715/ref=mp_s_a_1_1?ie=UTF8&qid=1520648132&sr=8-1&pi=AC_SX236_SY340_FMwebp_QL65&keywords=python+scripting+for+arcgis&dpPl=1&dpID=41Ghg1tE14L&ref=plSrch
https://www.amazon.com/gp/aw/d/0134400240/ref=ya_aw_od_pi?ie=UTF8&psc=1
This is the text for the course. You can get by with the 8th edition, but the 9th has added material regarding C++11.
Hi there,
I'm just starting out as well but have a HTML/CSS background but one of my favorite courses I am taking right now is The Web Developer Bootcamp by Colt Steele on Udemy. Combine that with video tutorials on youtube, code academy, do the basic exercises a few times and then do some tutorials. I'd also recommend printing a reference sheet for the things you just cannot remember eventually it will come second nature. I'm not 100% advanced in CSS but I'm also planning to purchase this book because I'm more of a visual person and would like a closer look at things I don't know:
HTML and CSS: Design and Build Websites by Jon Duckett
IF you are a visual person this book might be helpful for you.
For JS I'm currently doing the Modern JavaScript BootCamp by Andrew Mead super helpful because he stays nested in his courses on UDemy so if you have any questions he answers pretty quickly. I'm also using You Don't Know JS. For an environment I use atom, cmmder, visual studio code. A lot of these tutorials/video tutorials will tell you how to set them up for these kind of things so don't worry so much about figuring out how to set them up. Just get your resources first.
Hope this helps some.
Senior Level Software Engineer Reading List
Read This First
Fundamentals
Development Theory
Philosophy of Programming
Mentality
Software Engineering Skill Sets
Design
History
Specialist Skills
DevOps Reading List
If you're looking for an intro to programming in Python I would suggest Introduction to Computation and Programming Using Python For a general language reference Python Essential Refernce For an introduciton to the included modules The Python Standard Library by example which includes a lot of simple code examples. The book Core Python Application Programming is a great subset of the above books with less over all coverage but greater detail in the example code. And last but not least, for advanced algorithm info Annotated Algorithms in Python
Here's a grammar textbook I bought from Amazon for like $11. There's a whole series of these. There's also an app that comes with the book.
Practice Makes Perfect: Complete French Grammar, Premium Third Edition (Practice Makes Perfect (McGraw-Hill)) https://www.amazon.com/dp/1259642372?ref=yo_pop_ma_swf
I'm only about 6 chapters into volume 1, but I'm really enjoying Core Java by Cay Horstman and Gary Cornell. It assumes previous programming knowledge. My only issue with it so far is that there are no exercises to work through.
I also hear Thinking in Java is the defacto standard on how to learn it though, but I don't know if it assumes previous programming knowledge or not.
I started with C++ so the C++ comparisons throughout are helpful to me.
If you're interested in Core Java:
Volume I - http://www.amazon.com/Core-Volume-I-Fundamentals-Edition-Series/dp/0137081898/ref=dp_ob_title_bk
Volume II - http://www.amazon.com/Volume-II-Advanced-Features-Edition-Series/dp/013708160X/ref=pd_sim_b_1
If you really want the kid to learn, all they need to do is [bootstrap their very own Forth on Z80 and learn to enjoy the
painpower of Forth] (https://www.amazon.com/Threaded-Interpretive-Languages-Design-Implementation/dp/007038360X).This book should help.
It seems like somebody is writing: https://www.amazon.com/C-Templates-David-Vandevoorde/dp/0321714121
Core Java is another great book. It's really in depth and beginner friendly, and comes with lots of example code / programs. I've been working my way through it and love it. No fluff, just the information that's needed. I come from a Python background, but I'd also recommend it to a beginner with no previous programming experience.
For me, it's Core Python Applications Programming by Wesley Chun. Just check out the table of contents. He gives you insight into seeing the power of Python and allows you to explore what else you want to do.
I think docs are cool and all, but project based learning is what I like best and he goes line by line through working code samples. For example, in chapter 7 or 8 (I forget) he codes a functioning web crawler. I've been sticking print statements everywhere to see what works and why and he explains things really well. I'm skipping the first part of the book and diving directly into the web development portion, but the stuff he has in there about GUI programming with Tkinter, Multithreading, and Network Programming all seem really cool.
I get quite a lot from books, reading them, working through problems when I need to. But if I could go back in time and tell myself which books I should read, I'd go with (in order):
But there are so many really amazing resources on the web for free, that beyond some of the more basic stuff where you really need someone to explain to you why your code doesn't work and that sort of thing it really shouldn't cost you a lot of money.
http://www.amazon.es/Two-Scoops-Django-Best-Practices/dp/098146730X/ref=sr_1_1?ie=UTF8&qid=1421661687&sr=8-1&keywords=two+scoops+of+django
didn't read it, but from the index and reviews I read about it it seems good: http://math.hws.edu/javanotes/
for me I started with this book: Java how to program
it contains all the basics for J2SE so you will have an idea about each topic and you can expand the knowledge on your own.
if you are a beginner stay away from design patterns and effective java, once you learn the basics of the language and OOP you can move to these, also stay away from certification books, they are not for learning a language but rather for passing an exam.
We used Kip Irvine Assembly Language For x86 Processors 7th edition last term.
If you were looking to get a jump start on the reading it's pretty much everything between chapters 1-10.
Since folks already answered your question, I'm a newby as well, and amongst many books, I found these 4 of particularly great help:
Read this first:
https://www.amazon.com/Starting-Out-Early-Objects-9th/dp/0134400240
https://www.amazon.com/C-Primer-Stanley-B-Lippman-ebook/dp/B0091I7FEQ
https://www.amazon.com/Engineers-Scientists-Gary-J-Bronson/dp/1133187846
https://www.amazon.com/Understanding-Using-Pointers-Techniques-Management/dp/1449344186
Also, for those interested, you can buy the 8th edition of this book used on Amazon for a fraction of the cost of the 9th edition. A quick comparison of the table of contents shows an almost identical chapter structure, and there was less than 2 years between publications, so it's likely that not much changed between the two books.
Someone more knowledgeable in JAVA updates and the differences between them could probably better answer if anything significant happened between 2009 and 2011 that would justify the difference in cost between the two editions.
Amazon link to 8th Edition
Amazon link to 9th Edition
Java is a great language to start out with and I would recommend two books to get you running. Since you are new to the language and programming in general, start with Head First Java. Then, move on to a more advanced treatment like Core Java. Thinking in Java is also very good but it's dense and some people have a difficult time digesting it.
Once you have the basics of the language down, learn about working with databases. Then, move on to server-side development as that's where the jobs are.
Despite the similarity of their names, Java and JavaScript are not similar and cannot be used interchangeably. JavaScript is primarily used in UI development in web browsers, although server-side implementations have existed for almost as long as JavaScript itself. Currently, the most fashionable of these implementations is node.js.
Lastly, since you are looking to work professionally but without any formal education, know that you are going to have a difficult time getting work for the first several years. You might find that learning JavaScript (and HTML and CSS) are a quicker route to finding a job as front-end web developers often do not require a college degree, whereas Java programming jobs invariably do.
One of the books somebody asked about earlier would likely explain why it was at the end - because it was that way in a lot of text books peddled to schools.
personalmente mi sentirei di consigliare "core python programming" di wesley chun, io ho la seconda edizione, l'ho trovato molto ben strutturato.
poi c'è il mai-abbastanza-linkato https://learnpythonthehardway.org/python3/ (un tempo era gratis, magari online si trova ancora da qualche parte)
per fare qualche esercizio puoi buttarti su projecteuler.net
come ide uso vs code, che visto che è praticamente solo un editor di testo (plugin a parte) mi vien bene per qualsiasi cosa, senza andare su roba troppo specifica come pycharm
come step successivo, o perchè no, anche parallelo, magari potresti cominciare a dare un'occhiata a react o angular, da usare per esempio come frontend di flask o django...
Amazon link. Available for $0.01 (plus shipping).
This book basically goes through the design and implementation of a complete Forth system in assembly language, complete with editor, compiler and assembler.
Book: Design Concepts in Programming Languages (MIT Press).
The Quick Python Book is my personal favorite.
http://www.amazon.com/Quick-Python-Book-Second-Edition/dp/193518220X
declaring a method as private/public does different things. A public method means that any class can access that method. A private method on the other hand cannot be accessed by any class except the one it's in.
You're pretty new to java and it's awesome that you're starting to build programs. Keep going! I'm a big fan of this text book: http://www.amazon.com/Java-How-Program-Edition-Deitel/dp/0132575663
It's a very easy to read and has lots of great explanations/problems
Read the book. CS 161/162 uses 'Starting out with Early Objects', better known as 'The Gaddis book.'
https://www.amazon.com/Starting-Out-Early-Objects-9th/dp/0134400240
They've been using 8th ed up to this point, but I read somewhere they may be switching to 9th. 8th you can find online for free, just google around a bit. All in all, the concepts are the same.
Hey. We can't approve this type of question. You could take it over to /r/statistics maybe.
A couple books I've looked at are Applied Bayesian Statistics and Doing Bayesian Data Analysis. Both are written at a pretty low level. The former kind of falls apart after the first few chapters, but the latter is pretty well respected (my university library had both online for free). Both cover the basics upfront but in different levels of detail. Some of the notations and derivations may be uncomfortable for you in some books (not seeing that you have taken a formal probability course and the types of distributions and procedures you use in Bayes aren't covered in intro-stats... beta, inverse gamma, MLE derivation...) so I'd try to look more at example heavy references. Be sure to specify whether you are looking for books or online references when you re-ask your question.
I liked Core Java vols. I and II, but it's a little expensive and only 12th in Amazon's list of java books. Head First is number one.
Check out this, this, and this.
There's tons of books on C#. I personally like Introducing Visual C# 2010 from Apress and C# 4.0 in a Nutshell from O'Reilly. The former does a nice job covering both the C# language and the most important parts of the .NET framework, then gives a brief intro on the different UI options available. The latter skips the UI stuff, but covers some advanced topics a bit more in-depth. A lot of people seem to like Apress's Pro C#, but I didn't care for it. Also, check out the tutorials on BlackWasp.
After covering all of that stuff, figure out what you want to do and go from there. For Windows development, learn Win Forms and WPF. For web development, look into Web Forms, MVC, and Silverlight. For web services, learn WCF. Then take on a project or two, read articles, etc.
Yeah, absolutely! Feel free to PM me anytime.
Also, I'd highly recommend picking up a copy of Two Scoops of Django 1.6 if you've got $35 lying around. Even though we're in 1.7 now, the info in that book is pure gold.
I would suggest the Deitel book. It assumes no prior knowledge, and has, in my opinion, well laid out structure.
That was going to be my recommendation too. It's a very good reference work that contains lots of good, idiomatic code.
The python.org docs are surprisingly good at times as well. The data model section of the Python Language Reference is worth a quick read even by experienced Python developers.
For packaging, the Python Packaging Authority is doing some great work. The Python Packaging User Guide is a nice read that fills a large hole in the packaging space. Now with Pip in 3.4 by default and PyPA making rapid progress, it looks like there is an end in sight to the slow-motion train-wreck-in-progress that has been the Python packaging & install landscape for many years now.
The Python Standard Library by Example and Python Module of the Week have been mentioned already, but they are outstanding and should definitely be consulted, although they are unfortunately Python 2 -- I'm not sure if pymotw.com/3/ is the beginning of a new PyMOTW for Python3 or an aborted reboot under Python3.
If you would like to learn about asynchronous programming and the Twisted framework, there is a really great and extensive set of tutorials by Dave Peticolas: Twisted Introduction | krondo./?page_id=1327)
I would go with Java, and Swift appears to be the future of iOS development anyway. Since you're not a beginner I suggest Core Java, both volumes.
I've never been to one of these live courses, but I doubt they are any more valuable then just looking at free videos online and reading books. The main advantages to books/videos is you can go at your own pace, they are packed full of more information than can possible be conveyed/received in a short live course, and they are going to be MUCH cheaper.
A couple of good books to check out:
For learning to interact with ArcGIS software: https://www.amazon.com/Getting-Know-ArcGIS-Michael-Law-ebook/dp/B01DK3SWO4/ref=mt_kindle?_encoding=UTF8&me=&dpID=41J4z6t5nqL&preST=_SX342_QL70_&dpSrc=detail
GIS Basics: https://www.amazon.com/GIS-Fundamentals-Geographic-Information-Systems/dp/1506695876/ref=pd_sbs_14_4?_encoding=UTF8&pd_rd_i=1506695876&pd_rd_r=WM4VTBZR7PNZM326YA47&pd_rd_w=3jJcZ&pd_rd_wg=8MKvp&psc=1&refRID=WM4VTBZR7PNZM326YA47&dpID=51oUfZ5VUCL&preST=_SY291_BO1,204,203,200_QL40_&dpSrc=detail
For ArcPy/Python: https://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589483715/ref=sr_1_1?s=books&ie=UTF8&qid=1517942628&sr=1-1&keywords=python+for+arcgis
There are also plenty of free resources to learn to use QGIS: http://www.qgistutorials.com/en/
The important thing to focus on from any of these sources though, is to learn the concepts, not the processes. The GIS concepts are the same across different softwares, platforms, programming languages, etc.
This course is a good stating point and if you want something to supplement the C++ side of things a little more, i recommend this book (I am a big Tony Gaddis fan). It covers all the basics and the programming challenges work well with the information that gets presented to you prior. Since you already know java, some of the core programming fundamental chapters will be more of a refresher for you but you will also get to learn how C++ handles these things, the syntax and what not. A new copy is pretty pricey but i am sure there are a few used copies floating around that you could get for much cheaper.
I've had that book for about 4 years. It's helpful, but I think there are better ones out there. The good thing is that it's free (online).
​
I would suggest Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code
This c++17 book is good - http://www.cppstd17.com
I have another one about templates, but it's not aimed for begginners https://www.amazon.com/C-Templates-Complete-Guide-2nd/dp/0321714121. Nut I can't recommend it as a general start. And "concurrency in action" is a greate one!
https://www.amazon.com/dp/0321714121
Need two books in PDFs or ebook , $10 each - paypal
Ethics For Life: A Text with Readings 6th Edition (ISBN-13: 978-0078038334 , ISBN-10: 0078038332) https://www.amazon.com/Ethics-Life-6th-Judith-Boss-ebook/dp/B00DDW9T0Y/ref=mt_kindle?_encoding=UTF8&me=&qid=
Starting Out with C++: Early Objects (9th Edition) (ISBN-13: 978-0134400242, ISBN-10: 0134400240) https://www.amazon.com/Starting-Out-Early-Objects-9th/dp/0134400240/ref=mt_paperback?_encoding=UTF8&me=&qid=
Further notes, here's some of the books I've been looking at:
Modern Compiler Implementation (there's Java, C, and ML editions; this is C)
https://www.amazon.com/Modern-Compiler-Implementation-Andrew-Appel/dp/052158390X
Design Concepts in Programming Languages
https://www.amazon.com/Design-Concepts-Programming-Languages-Press/dp/0262201755
Engineering A Compiler
https://www.amazon.com/Engineering-Compiler-Keith-Cooper/dp/012088478X
Programming Language Pragmatics
https://www.amazon.com/Programming-Language-Pragmatics-Michael-Scott/dp/0124104096
> even read this entire book in my second year of my bachelor (the 6th edition):http://www.amazon.com/Java-How-Program-Edition-Deitel/dp/0132575663[1]
So I think I'm very experienced. But of course I never worked in the industry before.
No serious company will account this as experience.
>2- I also often see in jobs ads statements like: 2-year experience in java programming. And things like that. Do my experience in the uni count?!
what is generally meant by "2-years Experience" are internships (Praktikum), Werksstudentenjobs and maybe (that really depends on the position and company you are applying for) Studentjob in big Institutions or Lab with a reputation.
>so I'm not sure if companies would take that into account if I will apply from now and not be prepared for the interviews or so.
As someone who personally knows people who hire Guys in Software Development. I can assure you the company isnt looking for a "perfect 2 Years experience candidate" but rather if you fit in the Company, the Team and are capable of good teamwork.
From your statements i have to conclude, that you are really not at all experienced (remember any work that you do for your Studium doesnt count here).
Rather than rushing to an actual Job, i would recommend you to get atleast real world experience with a Praktikum and a Werksstudentenjob.
You can also check out the Java tutorials and the Java EE tutorials, but these might be a little on the light side compared to books devoted to the topic.
The Core Java Volume I and Core Java Volume II by Cay Horstmann are the best books I've read for learning Java. Some people like the Head First series.
Effective Java is a must read.
I'm thinking about this book as a next step http://www.amazon.co.uk/Python-Standard-Library-Example-Developers/dp/0321767349/ref=sr_1_1?ie=UTF8&qid=1418375089&sr=8-1&keywords=python+standard+library What do you think about that?
About the assembly book. I used PC Assembly and Assembly Language for x86 Processors. Does the one you recomend teach anything specific for Linux because I have always been on Windows?
French the Easy Way (Barron's E-Z) by Christopher Kendris Ph.D. (1996-02-01) https://www.amazon.com/dp/B01JXN62X8/ref=cm_sw_r_cp_apa_i_E6lUCbZ213RYE
Here is the link. I don't know why it's so expensive right now. I remember it being much cheaper, I would search around and look for a cheaper one.
Here is another one I use :Practice Makes Perfect: Complete French Grammar, Premium Third Edition https://www.amazon.com/dp/1259642372/ref=cm_sw_r_cp_apa_i_b.lUCbDE3KWZH
I’ve heard this book is great but I haven’t read it
HTML and CSS: Design and Build Websites https://www.amazon.com/dp/1118871642/ref=cm_sw_r_cp_api_i_yY8NDbZG7CJHK
I started learning on https://Codecademy.com
Then soon after that I started building websites for people. Pretty soon that turned into a freelance side hustle.
I found that the accountability of actually having people expect me to finish things was better accountability than my own personal projects.
Did freelance for about 5 years and just recently switched to a full-time position as a UX/web designer.
So I do a mix of UX design and frontend dev. Small company so we split roles.
Now I teach people how to take the same path I did in web design at https://selfmadewebdesigner.com
The thing I tell everyone is as soon as you can, just start building things. Learning and going through courses is great. But you’ll learn way more through the actual building of things.
I own both this book and the previous edition.
Java How To Program (first edition):
https://www.amazon.com/Java-How-Program-9th-Deitel/dp/0132575663
how about one literally called The Quick Python Book?
I was referred to this book:
http://www.amazon.com/Doing-Bayesian-Data-Analysis-Tutorial/dp/0123814855/ref=pd_bxgy_b_img_c
Honestly just dive head long into it. Look up tutorials, buy beginner books. I'm a C++ guy myself, but there's more languages out there than I can count. [this is my choice for a beginning c++ book] (http://www.amazon.com/Starting-Out-C-Early-Objects/dp/0136077749) also head to /r/programming and check stuff out there. Good luck!
This one for basic C# and OOP.
Beginning Visual C# 2010
O'Reilly has great reference books.
C# 4.0 in a Nutshell: The Definitive Reference
From there you can learn Mono for Android (and iOS)
Professional Android Programming with Mono for Android and .NET/C#
While learning XNA game development by example,
XNA 4.0 Game Development by Example: Beginner's Guide
And by detail...
Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7
to further the conversation on the forum and offer some assistance to everyone out there.
If you do have a beginner textbooks worth of knowledge on Java then I would recommend starting with Android Application Fundamentals
and familiarize yourself with the content or use this as a reference.
if you are new to programming and you want to get started with learning Java then I would recommend (again) Head First: Java 2nd edition, this book is very good if you want a k-12 approach in that it isn't word heavy and it makes you find the solution more often than not.
if you do love word heavy content and love taking notes then I would recommend: Core Java Volume I--Fundamentals (9th Edition)
free pdf versions of both books can be found so please do not limit yourself.
Thank you for taking the time to read and please Never stop moving forward.
edit:spellcheck and link added
Automate the boring stuff with Python
Learn Python 3 the hard way
You said you want to get into Data Science, there’s a pretty good website that teaches about that and also teaches more about Python beyond the beginner stuff called DataCamp
I used this...
https://www.amazon.com/Python-Scripting-ArcGIS-Paul-Zandbergen/dp/1589483715
>There are a few good grammar review books out there. The Ultimate French Review and Practice is good, as is Practice Makes Perfect: Complete French Grammar.
Would you recommend one over the other? Or both?
Não, esse aqui:
https://www.amazon.com.br/Use-cabeça-Python-Paul-Barry/dp/857608743X
Tem uns meses e encontrei por uns 40 reais na Cultura, em Porto Alegre... Infelizmente não conheço nenhum dos dois, mas quanto ao primeiro, geralmente os materiais da O’rilley de TI costumam ser bons.
Outro que utilizei e recomendo MUITO é esse:
https://www.amazon.com.br/Learn-Python-Hard-Way-Introduction/dp/0134692888
Mostly just practice, yeah, but there are some good resources out there. I really enjoyed this book:
https://www.amazon.com/dp/1118871642/ref=cm_sw_r_cp_apa_i_ykiRCbGKCKGAX
I am very disappointed that no one has as yet recommended the following book: Principles of Compiler Design
And you guys call yourselves programmers....
One of my courses in university was to do just what you've described: write my own language. Writing a language requires far more analysis and design time than it does technical implementation. The above book describes it all (although as I recall focuses more on precedural languages).
I used Core Java Vol 1 9th edition by Cay Horstmann: http://www.amazon.com/Core-Java-I--Fundamentals-9th/dp/0137081898/
I thought it was pretty good as a beginner. Chapters 3 to 6 are especially useful and good.
[This book] (http://www.amazon.com/Starting-Out-Early-Objects-7th/dp/0136077749) is that we're using for my Comp Sci I and II class. I highly recommend it as it goes really in depth into C++ concepts while providing tons of examples. I'm sure you can find a PDF of the book to preview.
Assuming your speaking of the statistical language "R," I cannot recommend anything. I have never used "R." But here is Amazon's top result: http://www.amazon.com/The-Book-Michael-J-Crawley/dp/0470973927
tl;dr: I am not helpful. Sorry OP.
What do you guys think of this book
If you already have a solid understanding of C++, then go with the Python Tutorial. hobgoblin mentioned Udacity, but their CS101 uses Python to teach you CS fundamentals. Since teaching you the language is not the focus of the class, you are taught only a very small subset of the language.
A book I'm currently reading is The Quick Python Book, which is aimed at people who already know how to program, but I would rate it in the same league as the Python tutorial.
There are a few basic ways of customizing the display of form fields.
Without using outside packages
Using 3rd party packages
I recommend that you do use django forms, as they are quite easy to use and handle all of the validation for you (use required=True on each field, and you are done for the simple 'not blank' checking you mentioned). I'd start with just setting the class in the attrs dict if your needs are simple, and if you have more complex needs, check out crispy forms. I quite like that package.
The excellent Two Scoops of Django 1.6 book covers forms quite well, if you are familiar with the basics of Django and want expert advice on best practices I highly recommend it. Available on amazon.
Edit: actually I may have misread your post, if you are just talking about adding css to the form tag itself, that is simply as described here https://docs.djangoproject.com/en/dev/topics/forms/#displaying-a-form-using-a-template:
<form action="/contact/" method="post" class='myclass'>
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
I'm currently using this book (http://www.amazon.com/gp/aw/d/1118871642/ref=mp_s_a_1_4?qid=1398514505&amp;sr=8-4&amp;pi=AC_SX110_SY165_QL70) along with CodeAcademy.
I suspect that page will change soon, because Learn Python 3 the Hard Way was recently published (july 7 2017).
I would recommend this book. It's a pretty big book but it covers all the basics of C++ (including objects and some data structures). I still use it from time to time when I need to quickly look up something.
http://www.amazon.com/gp/aw/d/0470973927