Know some code

Technology is changing the way advocates practice law, manage their firm, communicate with clients, and market their practice. (See: 50+ Apps and Services to Manage and Grow Your Law Practice.) It’s an ethical imperative in other jurisdictions that in keeping abreast in changes of law and its practice, we should include the benefits and risks associated with technology. Kenya is yet to adopt an ethical duty to tech competence in the legal profession.

Increasingly though, law firms are stepping up their tech game to hum along peak efficiency, and questions have been raised on how it all works with ideas flooding  about apps and tools to use to improve workflow and service to clients. Let’s get started by reading What is Code, the 38,000 word-opus that takes up an entire double-issue of Business Week.

Paul Ford’s amazing essay has inspired me to want to learn code in my free time. Perhaps, eventually, I may learn enough to build something. At the very least, I’ll gain a deeper understanding of the technology i’m fascinated about and the tools and applications I use every day and how to go about making them work better.

How does Mr. Ford light that fire? By distilling the 1,700 programming languages into a core manageable few that you need to concern yourself with. The writing is entertaining and offers interactive elements. (See: Business Insider’s What I learned by reading Businessweek’s incredible 38,000-word article on code).

Choosing a programming language for your project

Mr. Ford tells the story of coders, coding, frameworks, and process, but my favorite chapter in the saga is 7.1 How Do You Pick a Programming Language?

“Do you need the kind of speed that lets you get a website up and running quickly? Or the kind that allows you to rotate a few thousand polygons in 3D in real time? Do you need to convert 10,000 PDFs into text per hour? Or 10 million PDFs into text once?” Those are the type of questions Mr. Ford suggests you ask before deciding which programming language to use. They are different problems. Thing is, whatever your needs, many of the popular languages can accommodate it. So ask the questions first.

Here’s an example he posited:

“Let’s say your programmers are developing a huge website that serves 5 million people who each visit five times a month. Do you use Python, which is slower, or Go, which is fast, or Node.js, which is something in-between? Trick question! Twenty-five million Web page visits isn’t that big a deal, unless they involve some deep wizardry or complex database queries that are very different for each page (good example: Facebook).”

If you’re looking to get more than a general understanding of coding and want to build something for yourself or as a pet project, you probably won’t serve more than a few hundred thousand pages a month. This gives you tremendous flexibility when choosing a programming language as most will do the job.

Because everything can do everything making it difficult to choose the type of framework to build an application, Mr. Ford identifies the lowest common denominator for getting the job done: Java and PHP.

On a lighter note, Mr. Ford identifies the personality type of coders and the programming language they choose:

“Tell me that you program in Java, and I believe you to be either serious or boring. In Ruby, and you are interested in building things quickly. In Clojure, and I think you are smart but wonder if you ship. In Python, and I trust you implicitly. In PHP, and we sigh together. In C++ or C, and I nod humbly. In C#, and I smile and assume we have nothing in common. In Fortran, and I ask to see your security clearance. These languages contain entire civilizations.”

Core programming languages discussed include C, Java, JavaScript, PHP (he hates this but, hey, WordPress), Ruby on Rails, Python, and Node.js. You’re pretty much set with these few. He doesn’t cover basic front-end web development like HTML and CSS.

If you want an entertaining read while learning about how coders go about doing their thing and perhaps get inspired to build your own application, check out What is Code?

Note: If you’re interested in taking a few classes, check out  Coursera.

credits to Tim Baran

Leave a Reply