Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 PROGRAMMING


  All Programming is Web Programming

Michael Braude decries the popularity of web programming:The reason most people want to program for the web is that they're not smart enough to do anything else. They don't understand compilers, concurrency, 3D or class inheritance. They haven't got a clue why I'd use an interface or an abstract class. They don't understand: virtual methods, pointers, references, garbage collection, finalizers, pass-by-reference vs. pass-by-value, virtual C++ destructors, or the differences between C# structs and classes. They also know nothing about process. Waterfall? Spiral? Agile? Forget it. They've n...

1,967 0       PROGRAMMING WEB PROGRAMMING OPPOSITE VIEWS WEB APP


  The Go Programming Language Turns Two

Two years ago a small team at Google went public with their fledgling project - the Go Programming Language. They presented a language spec, two compilers, a modest standard library, some novel tools, and plenty of accurate (albeit succinct) documentation. They watched with excitement as programmers around the world began to play with Go. The team continued to iterate and improve on what they had built, and were gradually joined by dozens - and then hundreds - of programmers from the open source community.The Go Authors went on to produce lots of libraries, new tools, and reams of documentatio...

2,388 0       GO GOOGLE EVOLUTION DEVELOPMENT


  Program Or Be Programmed

On Thursday night I gave a talk at NYU Poly and in the Q&A a young man asked me for advice for "those who aren't technical". I said he should try to get technical. The next morning I met with a bunch of Sloan Business School students doing a trek through NYC. A young woman asked me the same question. I gave her the same answer.I don't mean that everyone should become a software engineer. I do mean that everyone should understand software engineering (or whatever technical subject/industry you want to work in). I don't speak French fluently. But when I go to France, I kn...

1,690 0       PROGRAM TECHNICAL BASIC KNOWLEDGE


  Programming: the benefits of taking a break

This post lists several benefits of taking a break during programming.You work smarter, not harder. Once, I worked really hard on a feature. For two weeks, 12 hours a day, I put in a lot of effort. After those two weeks, I took a break and came up with several ideas that made much of the work unnecessary.You think more clearly. Being tired has a similar effect as being drunk. At the end of a day, I often kid myself that I’ll just get this one thing finished quickly to have a fresh start the next day. In reality, I usually need to clean up yesterday’s messes then. If ins...

2,275 0       PROGRAMMING BREAK REST REFRESH NEW IDEA


  How can I teach a bright person, with no programming experience, how to program?

I usually prescribe the same sequence for anyone who wants to learn programming. It's very theoretical, but it lays a good foundation. It should take three or four months of fulltime study, but programming isn't something you learn overnight.If you can't get through this sequence, you're not going to be able to program, so you might as well give up now.Code, by Charles Petzold.The C Programming Language, K&RThe Structure and Interpretation of Computer Programs, Abelson and Sussman.My rule is: work your way through those three books by sheer force, if necessary. Ask any questions you have, ...

2,498 0       PROGRAMMING STEPS NO EXPERIENCE NO KNOWLEDGE


  Obviously Correct

What do automatic memory management, static types and purity have in common? They are methods which take advantage of the fact that we can make programs obviously correct (for some partial definition of correctness) upon visual inspection. Code using automatic memory management is obviously correct for a class of memory bugs. Code using static types is obviously correct for a class of type bugs. Code using purity (no mutable references or side effects) isobviously correct for a class of concurrency bugs. When I take advantage of any of these techniques, I don...

2,363 0       CODE MEMORY MANAGEMENT STATIC PURITY


  How NOT to teach a computer language

For the past year or so my wife has been taking online classes to get a computer science degree. For most of her classes she’s done great, she’s been flying through HTML and SQL, even up to the point where she can handle multilevel joins and optimizing through indexes. That was until she hit her vb.net class. I had no idea why she was having problems with a language has easy as vb.net so I started helping her out and find out why she was having so many problems. I’ve also added some recommendations in case you have the same problems, hopefully these will help you out. (Nam...

2,354 0       METHOD PROGRAMMING COMPUTER BOOK TEACH GRADE


  On Programming Deadlines

There are a lot of differences between programming, and programming professionally. The most notorious of which, is deadlines.DeadlinesWhen you're writing code for yourself, you can spend as much (or as little time) on it as you please--but when you're writing code for other people, you've got only a limited amount of time and resources to get the job done. In my experience, this typically leads to one of two situations:You've got to extend the deadline to finish the job properly.You've got to write some dirty hacks to finish the job.If you've ever done professional programming, you know what ...

2,574 0       PROGRAMMING DEADLINE TRANSPARENT TEST TODO