Simon Willison’s Weblog

Subscribe

Entries tagged programming

Filters: Type: entry × programming × Sorted by date


What is the best resource for someone who is non-technical to learn about computer programming/creating software?

Learn to program. You don’t need to learn programming to the standard where you could work professionally as a software engineer, but having enough programming knowledge to write some simple programs and automate some simple tasks will make you enormously more capable when it comes to working with programmers—or in business life in general.

[... 135 words]

Is there any alternative to devbootcamp.com or hackreactor.com in Europe?

http://www.makersacademy.com/ are running a similar program in the Old Street area of London.

[... 30 words]

How can I become a world-class coder in under three years?

Write code. Lots of code. Code that does stuff.

[... 95 words]

Is it difficult to make a dating site? My budget is small. Any suggestion?

Yes, it’s hard. Technologically, dating sites are not that complicated. The difficulty is keeping them populated enough that they remain useful for your users.

[... 159 words]

Does creating a zip file with php use more RAM then CPU? Or vise versa? Also, is it faster to use a system call, or the php zip library? Exec (zip filename.zip) vs. $zip =new ZipArchive().

You can find out the answer yourself using a very simple benchmark—just call time() before and after each option and loop them a few thousand times to calculate an average.

[... 74 words]

Which companies in London are using Python?

We use Python/Django for http://lanyrd.com/—we’re based in London.

[... 39 words]

How do you become a good programmer?

In my experience new programmers progress a LOT faster if they’re learning with a higher level dynamic language such as Python or Ruby than if they only use C++ or Java. That’s not to say it isn’t a good idea to learn Java/C++ (though I’d encourage you to learn C as a lower-level language) but you may find you pick up programming concepts a whole bunch faster with a language that has a good interactive prompt.

[... 126 words]

What advice would Simon Willison give to a beginner Python/Django developer?

Build something and put it on the internet. Make sure you have an easy way to deploy new versions (Heroku is a good bet if you don’t want to figure out Fabric). Pick a project that’s useful to you—a simple blogging engine is often a good bet, or maybe something that aggregates together your posts from Twitter and Instagram and so on. Or come up with something a bit more creative!

[... 109 words]

In which programming language do programmers get paid the most?

The best (and best paid) software engineers work in multiple languages, and pick new ones up as and when they need to. If you pigeon-hole yourself as an “X programmer” you’ll limit yourself to relatively uninteresting, interchangeable roles.

[... 54 words]

Which should I learn: Python or PHP?

Python will teach you more about programming than PHP—and you’ll be able to learn PHP easily if you learn Python first.

[... 36 words]

What are the best books/tutorials to begin learning about memcached?

There isn’t really enough of memcached to justify a whole book—it’s a pretty straight-forward API.

[... 100 words]

What are some hidden features of Python?

Generators and Iterators are pretty amazing. These two tutorials will really open your eyes as to how powerful they can be:

[... 63 words]

Which web/software development conferences a student should attend and why?

Offer to volunteer at conferences. If accepted, you’ll get in for free and you’ll get to meet loads of people (including spending time with the speakers)—in exchange for a full days work manning desks, finding speakers in time for their talks, giving people directions and generally helping organise and clean things up.

[... 104 words]

What are the most commonly used or most interesting open-source packages and software?

I’d say the open source browser engines, Gecko (Firefox) and WebKit (Safari, Chrome, iOS, Android) are probably some of the most important and widely used pieces of open source code these days.

[... 51 words]

Does it still make sense to become a Java developer, or should I migrate to PHP or .NET?

It sounds like you need to expand your horizons a little further. The best programmers I know these days aren’t working solely in Java, PHP or .NET—they may use one those languages, but they’ll also be getting stuck in to dynamic languages such as Python, Ruby, JavaScript or Scala.

[... 222 words]

How great do you need to be in programming to be a technical (Co) founder?

You don’t need to be amazing, but you do need to know how to ship. You might be the best person at writing complex machine learning algorithms in the world, but if you can’t get running code deployed in a way that lets customers use it you won’t be able to get anywhere that matters.

[... 76 words]

Which language and framework would you use today?

Unless I had a very good reason to use something else (a pure websocket/real-time collaboration app perhaps) I’d go with stock Django on PostgreSQL and maybe a bit of Redis. Simple, powerful, stable and works reliably.

[... 50 words]

How can some really large services (like Dropbox) afford to use Python as a primary language, if it’s one to two orders of magnitude slower than other, compiled languages?

Because raw language speed often doesn’t matter that much. In the case if Dropbox the client software spends most of its time waiting for bits to load from the network or from disk. Most large websites spend their time waiting for the database. You can’t speed up network or disk performance by using a faster language.

[... 91 words]

What are the ways to show enthusiasm about programming?

Have cool side projects to show them.

[... 22 words]

What programming language is primarily used in the making of big budget console games?

C++ still rules the roost here, but many games also integrate a dynamic scripting language of some kind for scripting level logic and so on. Lua is a popular option for this.

[... 52 words]

What are some programming conferences and events being held near Detroit, MI?

We have a crowdsourced listing of conferences and events in Michigan here: Conferences in Michigan | Lanyrd—two that might be relevant to you are Agile and Beyond 2013, 9th March 2013 and Kalamazoo X Conference 2013, 13th April 2013

[... 83 words]

How do I really learn coding?

Build real websites. Find a project and work on it. A personal blog is a great project as it can be simple to start with and get more complex over time.

[... 44 words]

Django (web framework): What are the Best Practice For Displaying another Website from yours?

This isn’t really a Django-specific question—the answer would be the same no matter what server-side tech you use.

[... 121 words]

How did Simon Willison learn programming?

My dad taught me to program at first on a Commodore 64 when I was about 7. I only found out many years later that he’d had the “how to program” manual on his left hand side, me sat on his right hand side and was only ever a couple of pages ahead of me in the book!

[... 259 words]

To become a better developer ? To read more OR to create/contribute to open source projects?

Contribute to an existing project, rather than starting one yourself. There are a bunch of benefits:

[... 231 words]

How should one go about designing a simple web based collaborative text editor?

Take a look at the open source ShareJS library, which implements a bunch of the fundamental (and extremely tricky) algorithms you need to get collaborative editing in the browser to work well: https://github.com/josephg/ShareJS/

[... 53 words]

Any source available to download sample data (in 10+ GB) for testing?

Wikipedia has some pretty interesting dumps, in both XML and SQL format: http://meta.wikimedia.org/wiki/I...

[... 100 words]

How can I learn more about server-side technologies?

Get yourself a VPS, set it up from scratch and run some non-critical websites on it (nothing with private user data since you can’t be sure you’ll set it up securely). Both Slicehost and Linode offer a good set of guides to a whole host of common tasks:

[... 109 words]

Is it bad practice to have a variable that has the same name as a function?

Yes, it’s definitely not a good idea. In Python functions and variables share the same namespace, so if you create a variable with the same name as a function you won’t be able to call that function.

[... 93 words]

What is a development framework?

The most useful distinction, in my opinion, is to think about the difference between a framework and a library.

[... 271 words]