I've certainly seen that, but it can be quite variable depending on the specific circumstances of a field, department, project, etc. My team hired a recent graduate, and he's completely up to date, to the point I'm the old dog learning new tricks from him.
Then I know someone who's a researcher at the university, and they have no funds to buy computers, so she provides her own and is quite incensed about it. And the money for refactoring and updating stuff is zero. For any lab equipment connected to a computer, the computer is as old as the equipment.
And then everything in between.
In my view the vast majority of scientists using Python are using it at a level where they could practically switch to Python 3 just by cleaning up their print statements.
And an amusing anecdote... by the time my thesis project was in full swing, the OS that I had been using (MS-DOS running hardware that I had built) was largely obsolete. But I sure as hell wasn't going to change horses in mid stream, so I persisted with the old stuff.
This is the reason why we see so many graduates that don't have the skills to do they job they trained for.
Universities need to keep up to date rather then just saying "but it still works" and sticking there head in the sand ignoring what the rest of the industry is doing to move forward around them.
Experience with version X of software package Y is only relevant for a fleeting amount of time. Universities can and should teach software development fundamentals, not experience with specific versions of things.
Plot twist : it's not an IT faculty.
I know how to code, Professors don't. I don't get paid enough to fix decades of errors. They had some smart people who created the code and they were smart enough to leave as soon as they got their degrees.
I've experienced that, even with IT faculty. For the most part, faculty don't code. They are too busy with teaching, research, and all the overhead and university politics that goes with it. Their students code, and the stuff they develop hangs around forever because it's in a publication and might be cited, but there's no funding to maintain it after the research grant ends. You're absolutely right about that.
Experience with the problem of "version X of software package Y is deprecated, we need to upgrade to version Z instead" is a skill that will always be relevant. For everyone who uses computers, not just computer scientists.
The fact that universities are apparently incapable of learning such a basic life skill is terrifying. It's akin to an auto mechanic who doesn't know how to perform an oil change.
While I agree that students should be learning Python 3, I don't think it makes a big difference either, unless there's a larger problem with the school's curriculum. What happens when Python 4 comes out?
Schools should be teaching the fundamentals of programming, which apply across languages. I don't want to say "the language doesn't matter", because COBOL would be a poor choice, but Python 2 vs 3? Whatever.
The difference is, if they aren't being taught with up-to-date tooling, there knowledge with that tooling is worth exactly zero the moment they finish that course.
and lets not forget that with python 2 not being supported anymore, even getting it installed and running in the fist place is going to start getting harder and harder.
> The difference is, if they aren't being taught with up-to-date tooling, there knowledge with that tooling is worth exactly zero the moment they finish that course.
So what? Students should not be paying tens of thousands of dollars to learn tooling that will be obsolete within a decade anyway.
All else being equal, sure, start kids off with the most recent tools available. But it wouldn't be near the top of my priority list.
Never claimed this is how it should be. I'm telling you how it is and I don't plan to lose my job by nagging senior stuff and telling them how they should do their jobs.
That's one way to do it. I wish people would embrace the idea that an ecosystem moving forward does not mean that you need to move forward. It creates so much needless pressure in people's minds. In the absence of security considerations, updating software might actually be considered harmful.
They usually have some software created by some students in the 2000's. These people took their degrees and left years ago. Nobody will get paid to migrate this software and you can't get a degree for working on rewriting code. That's it. I was making backups of floppy diskettes last month with some obscure software. Windows XP is still king in many places because no drivers for ancient scientific hardware on Windows10 and Linux is "black magic".
> and you can't get a degree for working on rewriting code.
Which is sad, really, because we really could use more people who can do that. In fact, I really wish that every CS program had a requirement to take an existing code base and do material work on it; it's not like anybody's going to graduate from school and then get hired to do greenfield development, so it'd be kind of nice if they were actually trained for the things that they're going to do in practice.
If only university's had some way of getting funding from, I don't know, something like teaching courses, that could be used to pay people to maintain and update the software they depend on.
I just finished a Graduate diploma at a local University, a single subject had over 100 students each paying $3500 to do that subject alone yet the Uni tried to claim they didn't have the staff/resources to update that course (that was 10 hours of face to face class time) each session. I find it hard to imagine that running that one session cost even a fraction of the $350,000 paid by students to run such that there was nothing left over to fund resourcing for updating the materials.
The simple reality is there’s no economic reason to do that.
That $350,000 goes towards staff, facilities, and research projects.
If they had the choice between funding new cutting-edge research or migrating some obscure legacy code, the new research will always win. It’s not even a hard choice.
and that just makes you wonder why they expect students to keep paying them to do courses they wont even do the basics to ensure they are relevant and useful.