Technology is changing the way attorneys 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 as the ABA Model Rules 1.1, comment 8, lays out: “…a lawyer should keep abreast of changes in the law and its practice, including the benefits and risks associated with relevant technology…” At last count 20 States Have Adopted the Model Rule Re: Ethical Duty of Technology Competence.
So, you’ve stepped up your tech game and your practice is humming along at peak efficiency, and now you’re probably curious about how it all works and ideas are flooding your mind about apps and tools you’d like to add or even build to further improve your workflow and service your clients. 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 learn some more coding 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 read and write about and the tools and applications I use every day and how to go about making them work better. Perhaps you’ll be similarly inspired.
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.”
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?