On small and big programs
One
of the challenges that we encountered during our CSC project is a great
shortage of IT discipline at our partner organization. Of course, this is
not limited neither to this particular institution, nor to this country.
It is common to see advanced users of complex pieces of software, who
are entirely unprepared of automating the simplest data processing task,
unless they have a specialized GUI tool to do so.
I met a guy who spends
about quarter of his work time by concatenating dozens of Excel tables,
and another one, who is doing the same thing much more efficiently only
because he found and Excel add-on that performs this particular
function. There seems to be a great imbalance based on using information - on one side, these folks
use very fancy and complex systems, but the simplest kind of
automation, like extracting a few cells from a number of spreadsheets
and stuffing it in a database is beyond their reach.
How come that this
IT-filled world has almost forgotten about the simple, Lego-like
building blocks of Linux command line that let you start small, with
one-liners, and proceed through trivial scripts to something that starts
resembling real programming?
How come that so few people know about
terrific and easy to use languages like Python?
Are we, programmers,
also at fault, because we like to show off our skills as a kind of
magic?
Or is this something so contrary to the nature of ordinary man
that only weird minds can grasp it?
Is it the symbolic thinking?
Complex
patterns?
What would it take to create (or collect) a set of
commandline tools that work on Windows or Mac and that one could teach the ordinary office guys or gals?
Or, in the
era of virtualization, would it make more sense to start with a Linux
virtual machine and bridge the gap from the other side?
I know that
comes with its own set of issues. One could do automation miracles with a
Python script, a database client library and something like openpyxl or
odfpy module to read and write the spreadsheets or other office
documents. Add a little web programming and you have all that's needed
to create a simple information system with web interface. I understand
that this path is treacherous, littered with all sorts of trouble - just
consider the weird world of ODBC drivers and connection strings. Still -
maybe that with the right combination of existing tools, educational
material and will to learn, this could be doable. When it comes to education materials, there are good examples out there - this free book caught my eye recently: Automate the Boring Stuff with Python. How difficult would be to extend this concept to an acceptable education path for a curious non-geek?
No comments:
Post a Comment