An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics)
Gareth James , Daniela Witten , et al.
4.8 on Amazon
72 HN comments
Mastering Regular Expressions
Jeffrey E. F. Friedl
4.6 on Amazon
72 HN comments
Game Programming Patterns
Robert Nystrom
4.8 on Amazon
68 HN comments
Steve Jobs
Walter Isaacson, Dylan Baker, et al.
4.6 on Amazon
67 HN comments
Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)
Kevin P. Murphy
4.3 on Amazon
66 HN comments
The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage
Cliff Stoll, Will Damron, et al.
4.7 on Amazon
61 HN comments
Programming: Principles and Practice Using C++ (2nd Edition)
Bjarne Stroustrup
4.5 on Amazon
58 HN comments
Ghost in the Wires: My Adventures as the World’s Most Wanted Hacker
Kevin Mitnick, William L. Simon, et al.
4.6 on Amazon
55 HN comments
Modern Operating Systems
Andrew Tanenbaum and Herbert Bos
4.3 on Amazon
54 HN comments
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software 2nd Edition
Eric Freeman and Elisabeth Robson
4.7 on Amazon
52 HN comments
The Singularity Is Near: When Humans Transcend Biology
Ray Kurzweil, George Wilson, et al.
4.4 on Amazon
51 HN comments
The Everything Store: Jeff Bezos and the Age of Amazon
Brad Stone, Pete Larkin, et al.
4.6 on Amazon
51 HN comments
Compilers: Principles, Techniques, and Tools
Alfred Aho, Monica Lam, et al.
4.1 on Amazon
50 HN comments
Test Driven Development: By Example
Kent Beck
4.4 on Amazon
45 HN comments
Patterns of Enterprise Application Architecture
Martin Fowler
4.5 on Amazon
43 HN comments
the_afonDec 8, 2016
HumblyTossedonMay 31, 2020
Programming Pearls 2e (239 pgs)
Practice of Programming (267 pgs)
I see Algorighms + Data Structures = Programs, but I know that's well into 300 pgs w/out looking.
s1rechonJuly 8, 2010
umanwizardonAug 31, 2020
There is also "Programming Rust", which you might like better.
jnksonJan 17, 2015
theblueskyonMay 5, 2012
nbaksalyaronOct 13, 2020
That's a first module, and I will keep adding more lessons, at least for UNIX process control (fork(2) and friends) and memory allocation.
> Programming from the Ground Up
This looks like a great resource, thanks!
jlukecarlsononJune 6, 2020
For instance, here's a section on Programming Languages: https://arxiv.org/list/cs.PL/recent
ck_oneonApr 1, 2021
corecoderonSep 7, 2016
* Programming Sucks! Or at least, it ought to! [0]
* The Oracle Effect [1]
EDIT - formatting again
[0] http://thedailywtf.com/articles/Programming-Sucks!-Or-At-Lea...
[1] http://thedailywtf.com/articles/the-oracle-effect
chconOct 10, 2010
cholmononDec 19, 2014
UI/Tools: video, especially when several tools are being used together in a somewhat complex workflow.
sotojuanonJune 3, 2016
Also, stronger curation—Introducing Elixir is kinda old right? I'd put Programming Elixir instead of it.
slm_HNonNov 3, 2016
knvonJan 2, 2010
Consider Phlebas, by Iain M. Banks
Selfish Gene, by Richard Dawkins
Business Stripped Bare, by Richard Branson
Programming Collective Intelligence, by Toby Segaran
Zen and Art of Motorcycle Maintenance, by Robert Pirsig
rpmismsonOct 4, 2019
gumbyonFeb 28, 2019
jdonOct 8, 2012
Programming + Biology. Programming + Economics. Business + Comic book writing. Programming + Business. Cooking + fluency in Japanese & English. You get the idea.
acangianoonOct 18, 2010
pincubatoronApr 19, 2014
I recommend Programming Languages course on Coursera. But if you are impatient, you can start from learning Python (it has a very low learning curve): learnpythonthehardway.org/book/
recentdarknessonNov 27, 2013
For beginners a very good book from my experience is C++ Primer by Stanley B. Lippman, Josée LaJoie, Barbara E. Moo.
The 5th edition even goes into the newer topics like the aforementioned lambdas, also variadic templates.
A nice thing is that it comes with exercises, which in my particular case was how I learned programming. I found a new feature of the language, or a class new to me and I played with it until I understood how it works.
Another good book for beginners is Programming -- Principles and Practice Using C++ by Bjarne Stroustrup, from what I read, he wrote this book with the background of teaching programming at the university and wanted to write a good book which uses a good approach which can be used for teaching students programming in C++.
If you are already further in and not at the beginning of learning C++ there is a list of books I recommend as further readings:
- Effective C++ by Scott Meyers
- More Effective C++ by Scott Meyers
- Effective STL by Scott Meyers
---
- Exceptional C++ by Herb Sutter
- More Exceptional C++ by Herb Sutter
- Exceptional C++ Style by Herb Sutter
---
- C++ Templates - The Complete Guide by David Vandevoorde and Nicolai M. Josuttis
- Modern C++ Design - By Andrei Alexandrescu
- C++ Coding Standards by Herb Sutter and Andrei Alexandrescu
Last but not least, reading the C++ Standard is the last bit on the topic of C++
This is the list of books which I recommend anyone who really wants to become great in C++
HTH :-)
Edit: I should probably mention The C++ Programming Language (4th Edition) by Bjarne Stroustrup as a must have as well ;)
wwkeyboardonDec 3, 2009
"Programming for the 3D Internet: JavaScript Server Farm on a Chip"
[1] http://download.intel.com/pressroom/pdf/rockcreek/Demo_facts...
oumua_don17onDec 31, 2019
- Programming: Learn two languages: Python and C
- Algorithms and Data Structures: Implement each data structure in the two languages above and implement a few algorithms of each type.
- Computer Architecture: For the referred excellent book, implement all assignments in any one language. Go head and burn the design on an FPGA, get the computer running on real hardware.
- OS: Having done ECS above, you should be in good shape to write your own OS: there is xv6, Xinu, Minix and many to choose from. Again have your OS running at least in a VM.
- Computer Networking: Write your own HTTP server in C.
- Math for CS: I would say focus on learning math essential for games, some linear algebra and leave it there. When you encounter a relevant field; AI or games, you should be in a position to pick up more math if required.
- Databases: Recently a book has been published on database internals, which is strongly recommended. Work through this book.
- Languages and Compilers: Learn a lisp, write a lisp interpreter (should introduce you to some FP concepts) and then working through Concepts, Techniques and Models of Computer Programming should be a good foundation.
Whether you are a student or working full time, these above are time consuming but well worth the ROI if you put in the effort. Be creative and ensure that you publish all your work as part of your portfolio. Good luck!!!
[1] https://www.amazon.com/Database-Internals-Deep-Distributed-S...
thisoneonNov 30, 2015
A great basis for functional and Lisp fundamentals. I'm just starting a journey into Erlang and that course has meant that the switch isn't as difficult as it could have been.
The course format was interesting. I'm not 100% on board with doing peer assessment, but I did like being able to see how other people handled the assignments.
citricsquidonMay 22, 2012
or in a phone interview just google for an answer to the question they're being asked! oh wait that's exactly what they did do...
How is using google to find an answer to a question okay and knowing the answers before hand not? crazy.
TheCorehonSep 29, 2018
One weird thing that I noticed is that every so often when I'm in a Google SERP (e.g. in a friend's phone) and I'm not fully satisfied with the results, I add in !g, only to realize that makes no sense. So I wonder if there's a subset of queries that DDG produces better results for, or if Google's search quality is declining.
If anyone from DDG is reading this: Please add the ability to (voluntarily) personalize search results via a cookie, just like you do for the interface theme. Something like "Programming Language: JavaScript". That way ambiguous queries (e.g "array reverse") can be associated with the specific context without having to type it every time (e.g. "array reverse js")
plinkplonkonOct 6, 2009
The code in PCI was terrible, very unpythonic code the last time I looked at it.Not "really great" , which is what OP asked for.
Maybe someone has done a rewrite, but otherwise I'd be very careful using the PCI code as an exemplar.
mikelwardonNov 28, 2010
C Programming Language.
UNIX Programming Environment.
Programming in Haskell.
Code Complete.
Practice of Programming.
Cathedral and the Bazaar.
Open Sources.
Hackers and Painters.
Joel on Software.
Coders at Work.
Just for Fun.
SICP seems to be really well written so far, but it's not the kind of book you're going to read in one sitting.
gorb314onApr 9, 2019
Googling for it doesn't help, all I get are references to the 80s, or the TRS 80, or some such.
Does anyone remember this book, or where I can find it?
tedmistononOct 23, 2016
For example, this is what they chose for last week's:
> Top Posts on Hacker News
• How I built a keyboard by hand
• The Hard Raise
• Is Facebook’s Massive Open Office Scaring Away Developers?
• Statistical Machine Learning, Spring 2016
• Yarn – A new package manager for JavaScript
• Open Guide to Amazon Web Services
• Windows 93 (2014)
• Say Cheese: a snapshot of the massive DDoS attacks coming from IoT cameras
• Making Human Settlement of Space a Reality
• The Nobel Prize in Literature 2016 awarded to Bob Dylan
• So You Want to Learn Physics
• Most drivers who own cars with built-in GPS systems use phones for directions
• Barack Obama on A.I., Autonomous Cars, and the Future of Humanity
• It’s Been Real, Android: Why I’m Retiring from Android
• Taking PHP Seriously
• Google's “Director of Engineering” Hiring Test
• Ask HN: What is your favorite YouTube channel for developers?
• Be Kind
• A Man Who Stood Up To Facebook
• Ask HN: How to get started with machine learning?
• Becoming a CTO
• Books Programmers Don't Really Read (2008)
• Ask HN: Good books or articles on UI design?
• Restoring YC's Xerox Alto day 10: New boards, running programs, mouse problems
• Walmart Paid Its People More to Get Cleaner Stores and Higher Sales
• What has happened down here is the winds have changed
• Peter Higgs: I wouldn't be productive enough for today's academic system (2013)
• Programming books you might want to consider reading
scarejunbaonJan 28, 2020
* No programming
* Programming with no Internet
Preload it with books.
MichaelCrawfordonJuly 16, 2015
I once struggled to paas, that is to pass as that which I am not, but I decided to go public in part because working as a coder contributed to my recovery:
Programming and Madness
http://www.warplife.com/mdc/essays/mental-illness/programmin...
... and in part because It is important that others understand that reality is not as concrete as it at first appears. There are many ways to induce delusion in the minds of even completely sane, rational people; I published my first web page about my manic depression in respnse to the 1997 Heaven's Gate UFO cult mass suicide in 1997. The following is version 2.0:
http://www.warplife.com/mdc/books/schizoaffective-disorder/r...
While informed by my studies of anthropology, psychology and social psychology it also draws on my own experience with cults. The world recoiled in horror in 1997 because Heavens Gate made no sense, while I recoiled in horror because it made quite a lot of sense to me.
rmgrahamonDec 29, 2011
auvrwonFeb 14, 2018
https://github.com/ransomw/exercises/tree/master/lleaves/plu...
... only gripe with this article is the couple of "... and/or C++" clauses: i personally hope to be forgiven for forsaking C++ for new projects, because it is not the 1970's anymore, and i suppose there are alternatives for almost every use case as well as externs for plain-C interop with existing C++ libs.
it's more like C+{100} so many are the additional feature-ughs.
8589934591onFeb 10, 2020
1. Programming - IntroCS by princeton - available on coursera with videos and graded assignments. If you require a slightly easier course, then you can check out CS61A from Berkeley or MIT's Intro course in python.
2. Algorithms and Data Structures - Princeton 2 courses in algorithms - coursera. Alongwith their book and booksite this was a very good resource for me with their graded assignments. I also would suggest CS61B from berkeley.
3. Databases - I started learning from Stanford Widom's course, but now I actually recommend CMU's course. I have heard good reviews for berkeley's course CS186 as well.
Side Note:
https://bradfieldcs.com/courses/
These are the makers of https://teachyourselfcs.com/. I notice that there are many courses, but at the same time $1800 per course is a bit too much considering USD conversion. So, I am looking for reviews if anyone has taken it, and whether the cost is justified. On the fence of joining it because of the cost.
cousin_itonNov 4, 2008
Math books: always worth reading.
Programming books: never worth reading.
Fiction: a pleasant way to spend time, but rarely pays off.
History: mostly crap, but personal memoirs are often insightful.
Books that changed me: Orwell's "1984" (role of words), Hunter Thompson (personal courage), Henry Ford's "My Life and Work" (work attitude).
Good stuff that should be better known: Eric Hoffer's "True Believer", Jerome K. Jerome's "Idle Thoughts of an Idle Fellow", Marcus Aurelius.
eric_bullingtononApr 27, 2016
I understand where you're coming from. I'm working on a mini-ML in Python as a learning exercise for myself and possibly as a tutorial for others; will open source it soon.
As such, I've come across a few good resources:
check out Robert Small's Hindley-Milner in Python[0], as well as alehander42's Hermetic language in Python[1].
I also just found out about Hask, an implementation of many Haskell language features in Python. Looking at the source code, it's well-commented and clear, so I suspect I'll learn a lot from it as well [2].
Finally, even though it's not in a dynamic or non-functional language like you request, I highly recommend Andrej Bauer's Programming Language Zoo[3], which contains very simple and easy-to-understand implementations of various type systems in OCaml. Very elucidating.
0. http://smallshire.org.uk/sufficientlysmall/2010/04/11/a-hind...
1. https://github.com/alehander42/hermetic
2. https://github.com/billpmurphy/hask
3. http://andrej.com/plzoo/
Edit: Oh, and one more resource that's been extremely helpful has been "Introduction to Functional Programming through Lambda Calculus" by Michaelson. Well worth the cost of the book.
rezashirazianonMar 13, 2017
(the description is taken from the corresponding courses I took in college which I found super helpful)
Programming paradigms: Examination of the basic principles of the major programming language paradigms. Focus on declarative paradigms such as functional and logic programming. Data types, control expressions, loops, types of references, lazy evaluation, different interpretation principles, information hiding.
Textbook on Haskell and prolog would be recommended.
Computability: An introduction to abstract models of sequential computation, including finite automata, regular expressions, context-free grammars, and Turing machines. Formal languages, including regular, context-free, and recursive languages, methods for classifying languages according to these types, and relationships among these classes.
Introduction to the Theory of Computation by Michael Sipser
Explorations in Information Security:
A broad survey of topics in information security and privacy, with the purpose of cultivating an appropriate mindset for approaching security and privacy issues. Topics will be motivated by recreational puzzles. Legal and ethical considerations will be introduced as necessary.
Someone already mentioned computer graphics which I excluded. I personally had the most fun in college in my graphics courses. They were hard but super rewarding and a ton of fun!
mynegationonOct 14, 2011
What are the books that one should read if one wants to start bio-hacking? Programming and CS books were discussed here many times: K&R, SICP, Corman etc, but what about biotech/life sciences?
I've tried some O'Reilly books like "Perl/Python for bioinformatics" but they are really for biologists trying to program, not the other way around.
philipkglassonJune 4, 2020
This book is an excellent way to dive in to Scala for application development, even though at this point it is more of a refresher than an introduction for me personally.
I started using Scala at a new job in 2014 with no prior Java/JVM experience. I bought Functional Programming in Scala, followed by Programming in Scala. FPiS was completely the wrong choice for getting up to speed in my new role, though it was academically interesting. Programming in Scala was closer to what I needed although it didn't deal with larger ecosystem issues. Hands-On Scala Programming feels like the book I should have started reading the first day I started working in Scala development.
6 years later, I no longer have the new-user perspective on Scala and the JVM ecosystem. Does Hands-On Scala adequately prepare someone for the JVM/Java quirks that leak through into the Scala environment? I can't tell now. I've internalized too much of that knowledge.
Assumed Java knowledge was a rough point for me in the first year or so using Scala. If something goes wrong when you're fetching Maven dependencies in an SBT based project, and you have never used Maven-as-Maven because you never used Java before, you may encounter some baffling error messages and lack the context to understand where you go next to fix it. I also encountered a lot of "Like Java's Foo, but with X" explanations of Scala features that didn't help because I never used Java. In the case of the problem with Maven dependency failures and baffling error messages from SBT, I had to resort to running SBT under strace before I found the root cause.
puzzleskyonDec 3, 2012
Programming: Building stuff and learning by doing rather than reading text books.
brlonMay 14, 2010
I would recommend getting a copy of both of them, but you might want to check out the online version of the O'Reilly book before buying it:
http://programming-scala.labs.oreilly.com/
The Pragmatic Programmers book is not bad either, but it's only a short introduction to the language compared to the other two books mentioned.
All three books have nearly identical titles: Programming (in) Scala
mickanioonApr 10, 2015
I'll follow up a little bit right here:
Developing with Unity was great overall. Luckily my partner has experience, which accelerated my learning a lot.
The 2 biggest challenges I found were not related to Unity, but to going from web development (my day job) to game development.
1. Programming in 3D: Not much I can say about this since I still struggle with it, except that once I understood vector maths a little more it got much much easier. Even just this silly site helped a lot: https://www.mathsisfun.com/algebra/vectors.html
2. Programming in a game loop: The main thing I've learned about this is to always keep things "event driven" as in, whenever possible trying to avoid checking for something happening in the game loop, and trying to instead have some kind of listener for a change that triggers what you need it to. Also, building state machines is something we're doing now and that has made logic inside the game loop WAY easier.
One other nice thing about Unity was that it reminded me about all the great things about object oriented programming.
Some bad things about Unity:
1. Not super easy to find answers to stuff online. Stack overflow just isn't quite as full in this area.
2. Unity Asset store: I think part of the reason for the first problem is that people are trying to sell their solutions, which ends up limiting free or open source growth.
On cross platform stuff: It worked like a charm, with a couple hiccups: Leaderboard integration and facebook sharing, but since those are platform specific in some ways anyway, that's to be expected - more about configuration really.
--
Anyway, thanks for the comment. We're polishing a bit more now, hopefully an update in the coming months. Yes, it's very hard. That's been difficult to get right... but our next game will be much easier!
sitkackonApr 24, 2015
patrickmclarenonJune 13, 2010
Stanford Video Lectures
Programming Methodology - http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-13...
Programming Abstraction - http://see.stanford.edu/see/courseinfo.aspx?coll=11f4f422-56...
Programming Paradigms - http://see.stanford.edu/see/courseinfo.aspx?coll=2d712634-2b...
Machine Learning - http://see.stanford.edu/see/courseinfo.aspx?coll=348ca38a-3a...
SICP - http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussma...
Google Tech Talks
Advanced Topics in Programming Languages - http://www.youtube.com/user/GoogleTechTalks#p/u/16/wDN_EYUvU...
AI Lecture Series - http://www.youtube.com/user/nptelhrd#grid/user/6EE0CD02910E5...
Software Engineering Lecture Series - http://www.youtube.com/user/nptelhrd#grid/user/8751DA481F0F0...
Python Design Patterns - http://videolectures.net/youtube_martelli_python/
wcareyonJune 19, 2012
It seems like the philosophical conflict that drove Sullivan't dismissal maps cleanly to the two styles of programming that pg described in "Programming Bottom-Up":
"It's worth emphasizing that bottom-up design doesn't mean just writing the same program in a different order. When you work bottom-up, you usually end up with a different program. Instead of a single, monolithic program, you will get a larger language with more abstract operators, and a smaller program written in it. Instead of a lintel, you'll get an arch."
My reading of Dragas's and Sullivan's statements to the Board of Visitors is that Dragas wants the University designed as a lintel, and Sullivan as an arch.
Dragas argues that "the Board is the one entity that has a unique vantage point that enables us to oversee the big picture of those interactions, and how the leadership shapes the strategic trajectory of the University." [1] The changes Dragas seems to support (though it's hard to find a clear statement of them anywhere?) would be akin to a major rewrite from scratch. University design by lintel.
Sullivan conversely argues that, "[c]orporate-style, top-down leadership does not work in a great university." She seems to be arguing for incremental changes more akin to aggressive refactoring.
[1] http://cvillenews.com/2012/06/18/dragas-sullivan-statements/
hackermailmanonJuly 15, 2020
All the "engineer"-ry things like constructing testing oracles or understanding code complexity this can all be found in Programming and Programming Languages https://papl.cs.brown.edu/2020/ that uses Pyret which has similar enough syntax to Python none of your bad engineers will be lost. There are lectures for it too: https://learnaifromscratch.github.io/software.html#org4eef4d... you could teach this class to them the lectures really teach you concepts like trees and graphs and how to reason about them.
proachonMay 12, 2015
Last week a Kickstarter was launched to fund Programming Languages ABC++ an alphabet book that aims to make the idea of code a little more exciting for children. Each page features a different programming language, from A to Z, and has a ‘Hello World’ program in each of those languages. For the kids, there are brightly colored illustrations of the book’s mascot, The Computer Bug, getting into trouble on each page. While, for the older readers each language comes with some trivia and an easter egg pun hidden in each illustration.
Parents and programmers, Michael and Martine Dowden conceived of the book early last year, and have since partnered with Inedo, a small software firm, to help make their idea a reality.
Last summer, Inedo enjoyed an unexpected success by working on something a little outside their day to day jobs. They started a Kickstarter hoping to make a small print run of a card game, Release!. This game was themed around, you guessed it, software and coding. To their surprise the project went viral exceeded their funding goal by more than 10x their goal. This opened their eyes to just how prevalent and developer culture was, how fun it was to actually contribute to it. When they were approached by the author illustrator couple they knew they had their next project.
As it turns out, toddlers won’t learn to code from this book, but education starts with engagement. When a subject catches one’s interest it becomes a pleasure to learn, rather than a chore. Programming languages ABC++ might be the book that inspires a child to want to be a programmer when they grow up.
dengnanonApr 9, 2014
Here is the list of materials I used to learn Haskell:
1. LYAH, http://learnyouahaskell.com/
2. Real world Haskell: http://book.realworldhaskell.org/read/
3. Programming in Haskell: http://www.amazon.com/Programming-Haskell-Graham-Hutton/dp/0... (No one suggests this book, but I do think this book is well-written and concise.)
4. Video tutorial by Erik Meijer based on Programming in Haskell: http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Func...
5. Advanced topics: http://www.haskellforall.com/2014/03/introductions-to-advanc...
Edit: Format
melvinroestonAug 4, 2020
I have 2 years of experience with ReactJS/NodeJS.
What people don't know about my though is that I've studied for 10 years worth of topics (9 years in official degrees) and can therefore tackle any programming problem. Including any general practical statistics problem as I've had 1.5 years worth of statistics courses.
Examples of the latter are:
- Programming in Java/Spring Boot for a client (3 months)
- Programming in Python (various engagements)
- Writing pentesting tools in C (I wanted to know how tcpdump works)
- Writing iOS apps in Objective-C (6 months of experience)
- Giving a course on information retrieval
dkarlonJune 22, 2011
As for type inference, another week of programming and you'll fall into a groove where you're anticipating when you need to declare types and when you don't. I had the same pain, and after a week, it had dropped down to a very occasional annoyance. It might just be my programming style, though -- I declare the return types on all functions that are meant to be called from another class or object, so there's a lot of information for the compiler to work with.
I agree about the underscore thing. It's pretty useless, and Clojure's version looks superior to me. As best as I can tell, the underscore doesn't work inside an extra layer of parens or curly braces. But it's just syntactic sugar, after all. Using a named variable isn't the end of the world. It's just three extra non-whitespace characters, "n =>".
chriswarboonApr 8, 2015
As a former Physicist and current Computer Scientist, I would agree with that complaint (although our use of empirical evidence is FAR below that in Physics).
For example, in Programming Language Theory it's amazing how many different notions of "equal" there are (isomorphism, definitional, judgemental, propositional, extensional, etc.). In Physics, there's just "=" :)
hwjonJuly 3, 2019
* APL: The Language and its Usage
* The Design an Evolution of C++
* The annotated C++ Reference Manual
* The Joy of Clojure
* Eiffel the Language
* Programming Erlang
* Forth (Salman et al.)
* Thinking Forth
* Introduction to Fortran
* The Little Schemer
* The Seasoned Schemer
* The Reasoned Schemer
* The Little MLer
* Programming in Lua
* Lucid, the Dataflow Programming Language
* Functional Programming in Scala
* Clause and Eiffel
* Scatchpad
* Smalltalk-80, The Interactive Programming Environment
* Smalltalk-80, Bits of History, Words of Advice
* The TeXbook
* The METAFONTbook
* TeX: The Program
* METAFONT: The program
* Viewpoint: Toward a computer for visual thinkers
* Visual Grammars for Visual Languages
* How to design programs (Felleisen et al.)
* Design Patterns (Gamma et al.)
* The art of the Metaobject Protocol
* Elements of Programming
* Concepts, techniques and models of computer programming
* Structure and Interpretation of Computer Programs
* Types and Programming Languages
* Essentials of Programming Languages
* Advanced compiler design and implementation (Muchnick)
* Introduction to Algorithms (Cormen et al.)
* Hacker's Delight
* Programming Pearls
* Coders at Work
* Computation: finite and infinite machines
* Purely functional data structures
* The space and motion of communication Agents
* Superdistribution
* A small matter of programming
* Basic Theory for Computer Scientists
dangonJuly 20, 2021
Why MIT uses Python instead of Scheme for its undergraduate CS program (2009) - https://news.ycombinator.com/item?id=18782101 - Dec 2018 (136 comments)
One Reason That MIT Should Reinstate Scheme and 6.001 (2009) - https://news.ycombinator.com/item?id=18386223 - Nov 2018 (38 comments)
Why MIT Switched from Scheme to Python (2009) - https://news.ycombinator.com/item?id=14167453 - April 2017 (97 comments)
Programming by poking: why MIT stopped teaching SICP - https://news.ycombinator.com/item?id=13105896 - Dec 2016 (9 comments)
Programming by poking: why MIT stopped teaching SICP - https://news.ycombinator.com/item?id=11628080 - May 2016 (232 comments)
SICP is being taught again at MIT - https://news.ycombinator.com/item?id=3482117 - Jan 2012 (37 comments)
SICP is still used at MIT at graduate level. - https://news.ycombinator.com/item?id=3235589 - Nov 2011 (3 comments)
Why MIT now uses python instead of scheme for its undergraduate CS program - https://news.ycombinator.com/item?id=842333 - Sept 2009 (38 comments)
Chiming in on the MIT Scheme to Python Switch - https://news.ycombinator.com/item?id=622261 - May 2009 (7 comments)
Why Did M.I.T. Switch from Scheme to Python? - https://news.ycombinator.com/item?id=602307 - May 2009 (65 comments)
Why MIT switched from Scheme to Python - https://news.ycombinator.com/item?id=530605 - March 2009 (128 comments)
MIT replacing Scheme with Python for Intro CS class - https://news.ycombinator.com/item?id=75401 - Nov 2007 (16 comments)
vram22onDec 26, 2016
bug in java binary search
and showed a related search in the drop-down, 'programming pearls ...', a book by Jon Bentley, which seems to confirm what I said above (though I saw it in his other book, "Efficient Programs", IIRC - he might have mentioned the same issue in the Programming Pearls book too).
Edit: and the Wikipedia article confirms it too:
https://en.wikipedia.org/wiki/Binary_search_algorithm#Implem...
TuringTestonApr 23, 2021
Microsoft has some initiatives exploring it[2] (including the limited autocomplete in Excel as a toy version of the concept), but this is not it.
[1] https://en.wikipedia.org/wiki/Programming_by_example
[2] https://www.microsoft.com/en-us/research/wp-content/uploads/...
lispmonMay 10, 2014
Let's look at a few chapter titles of Real World Haskell.
Chapter 2: Types and Functions
Chapter 3: Defining types, streamlining functions
Chapter 4: Functional Programming
Chapter 6: Using Typeclasses
Chapter 14: Monads
Chapter 15: Programming with Monads
Chapter 18: Monad transformers
PamaronJan 13, 2018
- https://www.goodreads.com/book/show/52084.Programming_Pearls
- https://www.goodreads.com/book/show/89200.Pragmatics_of_Huma...
- https://www.goodreads.com/book/show/4099.The_Pragmatic_Progr...
- https://www.goodreads.com/book/show/5617966-a-guide-to-the-g...
- https://www.goodreads.com/book/show/31573708-a-philosophy-of...