this is absolutely true, but there's an additional nuance: yes, python is fantastic, yes, it's easy and forgiving, but there are other languages like that too.
...except there really aren't. other than ruby and maybe go, every other popular language sacrifices ease of use for things that simply do not matter for the overwhelming majority of programs. much of python's popularity doesn't come from being easy and forgiving, it's that everything else isn't. for normal programming why would we subject ourselves to anything but python unless we had no choice?
while I'm on the soapbox I'll give java a special mention: a couple years ago I'd have said java was easy even though it's tedious and annoying, but I've become reacquainted with it for a high school program (python wouldn't work for what they're doing and the school's comp sci class already uses java.)
Omg, switching to C++ for pupils programming beginners ... "How to turn off the most students from computer programming?" 101. Really can't get much worse than C++ for beginners.
PSU (Oregon) uses C++ as just "c with classes" and ignores the rest of C++ for intro to programming courses. It frustrates people who already use C++ but otherwise works pretty well.
We should distinguish "First language" classes (for Computer Scientists who will likely learn many other languages and are expected to graduate knowing enough to just pick up another language with self study in reasonable time) from "Only language" classes for subjects where you might find it useful to write some software. These have different goals, it wouldn't make sense to teach say, OCaml as the only language but it's entirely reasonable as a first language.
I think the key thing not obvious to most data scientists is they're not using python because it meets their needs, it's because we've failed them. twice.
1. data scientists aren't programmers, so why do they need a programming language? the tools they should be using don't exist. they'd need programmers to make them, and all we have to offer is... more programming languages.
2. the giant problem at the heart of modern software: the most important feature of a modern programming language is being easy to read and write. this feature is conspicuously absent from most important languages.
they're trapped. they can't do what they need without a programming language but there are only a handful they can possibly use. the real reason python ended up with such good library support is they never really had a choice.
When the first scientific libraries were written for python, most alternatives didn't even consider being readable, or convenient. The choice was more like C/Cpp/Fortran vs Python.
And then Python went into a self-reinforcing loop, with scientific community coming up with more and more ways to improve Python support for the kind of interactive work that was required for data analysis. Think ipython -> jupyter -> jupyter forks and other python-centric notebook systems.
So when data analysis evolved into data science and machine learning, gpu-first library vendors already faced a crowd of people knowing python.
It is crazy how right now one can utilize 100s of gpus through these bits of dirty python wrapped in json.
In an apartment I once had, I ran some cat5-ish cable through the back wall of one closet and into another.
In between those closets was a bathroom, with a bathtub.
I fished the cable through the void of the bathtub's internals.
Spanning a space like this is not too hard to do with a tape measure, some cheap fiberglass rods, a metal coat hanger, and an apt helper.
Or these days, a person can replace the helper by plugging a $20 endoscope camera into their pocket supercomputer. They usually come with a hook that can be attached, or different hooks can be fashioned and taped on. It takes patience, but it can go pretty quickly. In my experience, most of the time is spent just trying to wrap one's brain around working in 3 dimensions while seeing through a 2-dimensional endoscope camera that doesn't know which way is up, which is a bit of a mindfuck at first.
Anyway, just use the camera to grab the rod or the ball of string pushed in with the rod or whatever. Worst-case: If a single tiny thread can make it from A to B, then that thread can pull in a somewhat-larger string, and that string can finally pull in a cable.
(Situations vary, but I never heard a word about these little holes in the closets that I left behind when I moved out, just as I also didn't hear anything about any of the other little holes I'd left from things like hanging up artwork or office garb.)
I assumed to get from one side of a doorframe to the other, instead of crossing underneath the door, go around the perimeter of the room the door is for. Which seems like a lot to remove a trip hazard, but I suspect the Wife Approval Factor plays a role
Harper Lee's novel To Kill a Mockingbird is a creative writing exercise which didn't actually happen and isn't verifiably true to any degree. There were never any Finches, Ewells, Robinsons or Radleys, yet readers often find it quite powerful because they're perfectly aware the story's events have played out between real people many, many times. They don't need to be told the real names of people who have been in lynch mobs to know real people have been lynched.
Email servers aren't quite as heavy a subject, but we know these things happen.
I decided my life could not possibly go on until I knew what "elvisgogo" does, so I downloaded the tarball and poked around. it's a pretty ordinary numpy + pandas + matplotlib project that makes graphs from csv. one line jumped out at me:
str_0 = ['refractive_index','Na','Mg','Al','Si','K','Ca','Ba','Fe','Type']
the university of st. andrews has a laser named "elvis" that goes on a remote controlled submarine: https://www.st-andrews.ac.uk/~bds2/elvislaser.htm
I was hoping it'd be about go-go dancing to elvis music, but physics experiments on light in seawater is pretty cool too.
This came up in some of the comments: https://github.com/whatwg/html/issues/11523#issuecomment-315...
if you click the links instead of copy/pasting into your reader you get a page full of raw XML. It's not harmful or anything but it's not a great look. You can't really expect your users to just never click on your links, that's usually what links are for.
I think they mean the manufacturer would just keep most of the stock for themselves. Reminds me of that famous Scarface quote: "You should get high on your own supply, it's a great idea that won't end horribly."
while I'm on the soapbox I'll give java a special mention: a couple years ago I'd have said java was easy even though it's tedious and annoying, but I've become reacquainted with it for a high school program (python wouldn't work for what they're doing and the school's comp sci class already uses java.)
this year we're switching to c++.
reply