Close

Python

A project log for Skills set

A list of my skills

keithKeith 10/08/2023 at 21:220 Comments

There are many trendy languages (e.g. Ruby, Rust, Python) that some people tout as the next big thing but there are so many that I won't bother learning them. Unless there is a darn good reason.

Python is the fastest growing language, according to Google's numbers of queries. That doesn't necessarily mean it is a great language. It might be just because it is being used as a teaching language and there are classrooms full of students desperately trying to grasp the basics.

It is used a lot for small computing jobs. From what I can see, it is interpreted (slow) and not very environmentally friendly in terms of joules per computing done, but it does not get used for the heavy lifting of computing. It looks more like a scripting language for interfacing with libraries of code which do the heavy lifting. One guy I know said he was just a plumber these days, using python to get data moving between modules.

Python is very good at handling strings, much better than C. For example, if you have a string in the form product_yyyy-mm-dd_notes there is a command to split a string into substrings with a given separator like "_". You can then split the second substring into yyyy and mm and dd with the separator "-". In C, one has to write more string handling code.

One programmer said he used Python because it let him write programs faster. In a world where computer time is cheap and human programmer time is expensive, Python is more economical.

Like human languages, many modern programming languages are similar enough that if you know the basics of one you can pick up others a lot faster than starting from scratch. If there's something you don't know how to do, but ought to be possible, google will find the answer quickly. 

I haven't been asked to write anything from scratch yet, but I'm up to the level where I can modify or extend other people's programs. Which is what I get asked to do.

Discussions