2 ms·
Yes, recently I was asked about Python. So, the original version was based on C and is sometimes called C Python. The usual version is interpretive and, thus,
by graycat 12y ago
Yes, recently I was asked about Python. So, the original version was based on C and is sometimes called C Python.
The usual version is interpretive and, thus, ballpark 10
times slower than a compiled language.
And the person asking wanted me to have experience using Python in a "production" environment. That's like asking if I've used a Toyota to haul hot asphalt, bricks, sand, and gravel. I wouldn't want to face a factor of 10 times slower in speed in a production environment.
Next I wondered, K&R C has no threading. Yes, Posix does, but, when building on very standard, portable C, there is no standard threading infrastructure. So, I looked: Right, from what I saw, on a fast look, C Python has problems with threading. No surprise. So, on a processor that can run 8, 12, 16 threads or a server with two such processors, I want to use a language that has no threading, in production? Bummer.
Otherwise as I looked at Python
a little, I saw a bottle of a blend of mostly very old wine. I saw next to nothing new.
Then I found that much of the interest in Python is some
packages following some package functionality (back at
least to Ada). Some of the packages are good for getting and parsing Web pages as an alternative to screen scraping --
good to know in case I need to do a lot of screen scraping.
So, maybe some of the packages are nice.
So, Python looks like a promising one-shot project or scripting language. Okay. However, I'm writing production code.
Then I saw Iron Python, on Windows, apparently with good access to the .NET Framework. Okay. But Windows already has a scripting language with good access to the Windows APIs, their Power Shell. The scripting language I've been using is Mike Cowlishaw's Rexx. I've gotten a lot of good from it, but, really, I should convert over to something closer to Windows, likely Power Shell. Here I agree with Altman -- focus and don't get distracted. Well, for now, Rexx is just fine, and converting to Power Shell would be a distraction. Same for Iron Python and C Python.
For evaluating programmers by their eagerness to learn Python, sorry PG. I've learned a lot of languages. Net, net, I see that more than the language, or whatever flavor of syntactic sugar is there, is important. On Windows now, what's really important is their work for managed code, memory management (with automatic garbage collection, apparently mostly good enough for production -- "Look, Ma, no C++ memory leaks!"), their common language run time (CLR) and it's benefit in permitting programs in different languages to work closely together, and their .NET Framework. To me, those are more important than anything about C Python, and without even mentioning a programming language.
I chose Visual Basic .NET because it looks verbose, easy to write, easy to read, easy to teach and learn, integrates nicely with ASP.NET (surprisingly nicely, even without Visual Studio), compiles fast, has good compiler error messages, and is about as powerful in access to the CLR and the .NET Framework as anything on Windows. And it is essentially compiled. And it has thread support. And so far I may yet to have found an error in the compiler -- good.
Sorry, I don't want my background in computing evaluated by my enthusiasm for Python. Sorry PG --- I really like a lot of your essays but not that one.
When I teach a class in programming, I'll start with the basics -- define places to put data, allocate (and if necessary free), expressions and assignment,
If-then-else, Do-While, call-return, try-catch. Then I'll teach the Visual Basic .NET versions of these.
I'm regarding programming languages not just for curiosity but as tools for another
purpose, a successful business that provides as a service that improves the lives of 1+ billion people and that they like a lot, that makes money enough
to do nice things, e.g., add a wing to a local hospital, help a private school, provide stable jobs, let employees put down roots in the community and improve it, pay the employees enough to have a nice house, one parent, likely the wife, stay at home with the kids, as many kids as they want, puppy dogs and kitty cats, nice vacations, private schools for the kids if desirable, college for the kids, late model cars, nice backyard parties for friends, sports, time for the family to be together, and a nice retirement. For that goal, I see Visual Basic .NET
as a fine programming language.
For the guy asking about Python, I also sent him some
code for two nice, original at least for me, algorithms. And I sent them a nice paper in computer science, published in Information Sciences. He and his buddies were more concerned about Python! No, I don't want to work with them. And, no, I won't hire like that.
> I was just trying to guess why a certain company would choose a specific language and a specific set of tools, and require proficiency in it.
The HR people and the suits have contempt for technical people and, really, are afraid of them and are
really unable to evaluate technical people. So, as in the parody, they have little check boxes.
In information technology where software, etc., is "eating the world", the HR people and suits are total losers and in line to gather like dead flies on a window sill, fall like stalks of wheat before a John Deere combine, etc.
Thus, the opportunity is for technical CEOs. And that's why I watched Altman's lecture.