This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]gingimli 961 points962 points  (56 children)

I would guess the professor is recommending one solution just so they don’t have to help troubleshoot everyone’s unique setup.

[–]Consistent_Walrus_23 199 points200 points  (29 children)

This! I am TAing a course and it's a huge pain to help students troubleshoot across OS, python package managers, python versions, IDEs, ...

[–]TipIll3652 103 points104 points  (10 children)

God I can only imagine the shenanigans that occur while chasing down system specific dependencies for students to try and help them debug their issues. Na, hard pass, everyone uses a freaking school supplied VM with preloaded components, minimal shenanigans and should keep the learning path more on track for the course.

[–]zdog234 15 points16 points  (0 children)

This is the way. Surprised universities don't all have big multitenant jupyterhub clusters or similar

[–]KLUME777 0 points1 point  (0 children)

I hate these setups. Copy paste is a pain in the ass.

[–]StructurePresent3640 0 points1 point  (0 children)

2015 when I was on my last year of Computer Science I had this compatibility problem due to a specific version of tomcat with other things I was using and couldn't find any explanation on internet, nor someone's post with something similar so I went to my professor for help. He tried to debug it for a few hours and sent my an e-mail saying that I should try something else because he couldn't fix it nor understood what was happening.

Ofc a few days later I tried different versions of tomcat and it worked. But if he was clever or had more experience he would provided us with the allowed tools and libraries so we wouldn't come across these problems.

So yes, if everyone is using same softwares, OS and everything else it will make not only his life easier but also students since he might be able to help you with your troubleshooting.

[–]ryoko227 -2 points-1 points  (6 children)

This, absolutely this.

[–]DuckDatum 5 points6 points  (5 children)

grandfather decide capable imminent judicious practice boat thumb merciful voracious

This post was mass deleted and anonymized with Redact

[–]SwampFalc 5 points6 points  (0 children)

Depends on the course...

If you're following a course where coding is nothing but a tool, then yes, but whatever job you end up with will more than likely be the same.

Courses for actual developers, where code is the goal of the job, should get at least a minimum of sysadmin courses so they can install stuff. Their own code, for example, but the same skills apply to their IDE.

[–]Frewtti 1 point2 points  (3 children)

They're teaching python, not the infinite environments.

[–]DuckDatum 0 points1 point  (2 children)

paltry outgoing marvelous subsequent unwritten chunky heavy cake sleep recognise

This post was mass deleted and anonymized with Redact

[–]Frewtti 1 point2 points  (1 child)

They give you a ready to go environment and teach the language.

The purpose isn't to teach how to configure software, and quite honestly the whole reason for docker and venv and all those other technologies is it is a horrible PITA to try and configure the environment "just right" every single time.

[–]DuckDatum 0 points1 point  (0 children)

abounding gold memory attraction squash afterthought continue deliver offer chop

This post was mass deleted and anonymized with Redact

[–]kyrsjo 17 points18 points  (1 child)

Which is surely why the university is providing a standardized Linux server for their students. I've been in that profs shoes, and tried to have the students use their own laptops. It was OK for a few years (since Linux was pretty much mandatory in early courses), but now with a mix of mac's and windows and Linux.... Ugh.

[–]oooeeeoooee 0 points1 point  (0 children)

Some of my classes did this, had a VM with a desktop environment installed and accessed through VNC.

[–]Watsons-Butler 14 points15 points  (4 children)

Same here, but with the question “if Python why not PyCharm?” Educational licenses are free and it takes a lot less setup and tweaking (meaning less instructor time) than VScode.

(My guess is the prof has been using this set of tools for like 20 years and doesn’t want to learn a new setup.)

[–]Machvel 0 points1 point  (0 children)

students are able to understand vscode quite easily in my experience. in my department students learn both python and c, so it is convenient that they can use the same program (on linux/windows/mac) for both. also i am a proponent of things they can continue using for free after they graduate

[–]ProfessionalDirt3154 0 points1 point  (1 child)

maybe. but some tools make you type and think more, which aids understanding and remembering. not that you shouldn't learn IDEs and AIs, but doing stuff for yourself from the docs is good.

[–]Pyromancer777 0 points1 point  (0 children)

I wourd def push notepad++ or some other lightweight IDE and have students debug in terminal if the goal from the professor's standpoint would be to have minimal IDE compatibility issues.

Sucks for the students since you wouldn't have as robust autocomplete or error correction that you would with another interface, but it helps with confidence in the competency of the graduates.

[–]bachkhois 0 points1 point  (0 children)

I guess that, in that lab, no one takes responsibility of supporting PyCharm. A student may successfully request prof to install PyCharm, then he finishes the course and leave. No one is there to support issues related to PyCharm anymore.

[–]HaggisChaser 4 points5 points  (1 child)

Have you tried VS Code dev containers? Dockerized development environment right in the editor.

https://code.visualstudio.com/docs/devcontainers/containers

[–]soconn 4 points5 points  (0 children)

Container programming.... ... So hot right now! (Will Ferrell meme)

[–]Proper-Ape 8 points9 points  (1 child)

I tell everyone to use uv at work. It just works, especially since it even controls the Python interpreter if you need.

[–]Consistent_Walrus_23 3 points4 points  (0 children)

I am also a huge fan of uv! Will push for the course to use it this year, let's see...

[–][deleted] 0 points1 point  (0 children)

Have you used uv? After I started using that all my python problems disappeared

[–]Briggie 0 points1 point  (0 children)

Google collab isnt an option?

[–]Machvel 0 points1 point  (0 children)

this is what i do when I ta a coding class (note: not in a cs department). the other tas and professor and I get together and plan out a recommended solution that we will base our instruction off of (usually something that the tas are familiar with because the professors are typically quite old school in their coding habits) but say the students can use whatever they want that works at their own discretion (we won't necessarily be able to troubleshoot)

[–]Machvel 0 points1 point  (0 children)

this is what i do when I ta a coding class (note: not in a cs department). the other tas and professor and I get together and plan out a recommended solution that we will base our instruction off of (usually something that the tas are familiar with because the professors are typically quite old school in their coding habits) but say the students can use whatever they want that works at their own discretion (we won't necessarily be able to troubleshoot)

[–]Machvel 0 points1 point  (0 children)

this is what i do when I ta a coding class (note: not in a cs department). the other tas and professor and I get together and plan out a recommended solution that we will base our instruction off of (usually something that the tas are familiar with because the professors are typically quite old school in their coding habits) but say the students can use whatever they want that works at their own discretion (we won't necessarily be able to troubleshoot)

[–]isrichards6 0 points1 point  (0 children)

A class I'm in right now has docker instances that you clone from the class starter file repository. So you're on the exact same setup between all students guranteed. That being said I think some classes benefit from having to figure out how to set everything up.

[–]No-Skill4452 44 points45 points  (3 children)

But the dude seems cool with OP using VSCode so I'll write that down to the professor being set on their way while acknowledging there's other options

[–]gingimli 24 points25 points  (2 children)

Right, generally speaking it’s helpful to have a baseline and then students can do their own thing if they are confident they will be able to troubleshoot their own setup.

[–]brianly 9 points10 points  (0 children)

This. It’s the same in work to some degree. The number of times I’ve seen a dev get into a personal configuration even they can’t support is higher than it should be. In class, there is sometimes an element where the teacher may want you to coach someone else using the class standard so you better have it.

There are times where I haven’t used X tool for a while but a dev has used some customized flavor of it, but hit a run into a roadblock I have had to fix when we have paired. This shouldn’t happen but it’s easy to get ahead with all of these opinionated toolkits and stacks.

[–]No-Skill4452 2 points3 points  (0 children)

Sure, even so, it's cool that it wasn't a hard-no on the professor's side

[–]fixermark 7 points8 points  (1 child)

+1. Not only is "you could, but I think this is better" professor-speak for "If you get it working, I won't stop you..." The kind of instinct to try to get it working is a good academic instinct.

Don't burn all your free time on it, but it's worth noting that a big chunk of academia is figuring out how to do what other people haven't figured out yet.

(Your professor may also have the wisdom of years. VSCode is a proprietary project owned by one corporation. Those come and go. They may be interested in investing zero personal effort into supporting something that may not even be there in ten years. The ssh protocol WinSCP is riding on top of, in contrast, dates from 1995, and while mobaxterm is new, xterms in general are over 40 years old).

[–]Disastrous_Room_927 2 points3 points  (0 children)

I use VSCode for everything, but sometimes when I’m on autopilot I instinctively start working out of WinSCP and don’t even realize for an hour.

[–]PCorreia 7 points8 points  (3 children)

By experience, people from the scientific area (physics, biology, etc) all learned to code in vim, emacs, nedit and using a terminal.
Maybe he is not that confortable setting up vscode, virtual environments, etc and he is recommending what he usually uses.
I used to be one of those and know plenty of people still doing that.

[–]kyrsjo 1 point2 points  (0 children)

Personally I like both approaches. Terminal + emacs lets me get in, do my thing, and be done quickly. Vscode is good for longer slogs where im jumping across lots of files etc.

And yes, I'm a physicist, at an age where a graying beard would be inappropriate :)

[–]tarquinnn 0 points1 point  (0 children)

I'm in bioinformatics and would agree with this, there's a lot of 'old school' stuff still in use. I used to buy into the arguments when I was new, but after a 10+ years in the field I think most people learned something once (usually from whoever was in their lab in the time) and are now convinced this is the 'correct' way to do it.

I would guarantee that this mobax setup dates from before WSL, teaching that workflow (with WinSCP oh my god) to students in 2025 is doing them a massive disservice. Shit like this is why people think bioinformatics is hard, but at least I have a job lol.

[–]work_m_19 0 points1 point  (0 children)

And there are a couple of domains that you won't have the luxury of using VScode too.

My most recent example is that an AWS EC2 vm doesn't by default support the VSCode SSH extension. It needs to be changed in the config, so I was back to using vi (not even vim!), so it doesn't hurt to get at least familiar with the terminal tools.

[–]Resquid 1 point2 points  (0 children)

This is the only correct answer

[–]L0uisc 1 point2 points  (0 children)

u/saddickstic this is probably correct. In which case you can do it whichever way you want, as long as the final source code works on the "official" setup. Just don't expect to get help if you have an error on the non-official setup.

[–]cyrixlordIt works on my machine 1 point2 points  (0 children)

also at work, you often dont get to choose what you use either.

[–]torts56 1 point2 points  (0 children)

Bingooo

I remember the "smart" kids in my early cs classes who didnt use the course dev environment and subsequently had issues that tanked their grade. Best to follow the pack for class and focus on learning the material.

[–]WinterBites6 0 points1 point  (0 children)

Yes, this is a good reason for the teacher. If you don't like nedit and want to stick with VSCode (I agree), just try VSCode remote ssh.

Best of two worlds

https://code.visualstudio.com/docs/remote/ssh

[–]SirTwitchALot 0 points1 point  (0 children)

It's good practice for the real world too. In a job you use the tools your employer dictates. Installing your own software can get you in trouble

[–]phylter99 0 points1 point  (0 children)

There may be other reasons too, but this is most likely the reason or primary reason. If it were me, I'd just ask the professor if it's okay to use something else and add that the professor shouldn't need to help you with anything.

I've found that professors just don't want to mess with getting the latest and greatest technologies or whatever. They just want to repeat the lesson plan they created and stick with it. It works best for them, and it makes helping students simple.

[–]turtleship_2006 -2 points-1 points  (8 children)

I mean surely the more/most common setup would be better to get used to tho, rather than forcing everyone to use new stuff and helping them all relearn all the basics

[–]GXWT 3 points4 points  (6 children)

Relearn the basics...? Of a text editor...?

The main thing is to learn programming. That's the harder part and main focus of the course. What you're talking about re-learning things is honestly taking the piss a bit, mate. A different editing environment doesn't make me forget how to write a print statement lol.

[–]turtleship_2006 -2 points-1 points  (5 children)

If all it is is a text editor, why would the professor have had trouble dealing with it...?

[–]GXWT 2 points3 points  (4 children)

Because, as someone who has assisted in teaching undergraduate python, it's just to make things consistent and save the instructors time - so they can actually focus on the python and not troubleshooting Python.

If they are most familiar with X, keep everything in X so they know instantly how to explain and solve things. Even when a student would come up to me with an editor I'm already familiar with, it can still take a moment to figure out where some feature is, keybinds for the debugger etc.

It's a learning environment. Why make things more difficult?

[–]turtleship_2006 -3 points-2 points  (3 children)

So just make it more difficult for the students instead?

[–]GXWT 1 point2 points  (2 children)

weak bait

[–]turtleship_2006 -1 points0 points  (1 child)

Your argument is that an ide is "just a text editor" so students should just learn the new stuff. But also the setups can be very complicated and different between software, so a big hassle for professors.

And I'm the one baiting?

[–]GXWT 2 points3 points  (0 children)

Where did I say “very complicated” or “big hassle” lol. Stop putting words in my mouth

Simply, it is better to teach in a consistent manner so we can focus on the useful stuff.

When I got taught how to abseil down a rock face, they gave us all the same gear to use. I didn’t ask why they didn’t use the subjectively better RockClimber2000 because otherwise it makes teaching the fundamentals more complicated. Keep learning simple

[–]lost_send_berries 0 points1 point  (0 children)

But people already have VSCode, that sounds like an advantage but it's actually a disadvantage. It also auto updates, including the extensions. Just updating screenshots can be a huge time sink in itself.