5 ms·
> Inevitably, some try to use PyCharm and they just get lost in it! I tell them it's like learning to drive in an 18 wheeler with a manual transmission. Not re
by qwerty456127 6y ago
> Inevitably, some try to use PyCharm and they just get lost in it! I tell them it's like learning to drive in an 18 wheeler with a manual transmission.
Not really. You don't have to use all its features, they are neither necessary nor intrusive. E.g. I hardly know, let alone use more than 10% of its functionality. The only reasons I use it are very smart code completion, refactoring (rename variable/class/function/whatever, jump to definition, find all usages), breakpoint debugger, auto imports suggestions, and type hints derivation. I barely even use menu items besides "reformat code". But the smart code completion IntelliJ IDEs offer is by far the best on the market so its worth that. Extremely useful for lazy/occasional/novice coders who don't remember APIs by heart and don't want to sopend much time browsing the docs every time.
- mstolpm 6y agoI'd assume you are not working in education? Of course, PyCharm has great features and you don't need to use all of them when working with the IDE on your own as a novice coder. But as a teacher, you have a completely different problem: You need a really simple, easy to explain environment - no fuss, no unnecessary complexity. Students /will/ explore unused features on their own and get lost or mess up. There is simply no time to deal with all possible problems individually as a teacher.
- qwerty456127 6y ago> I'd assume you are not working in education? Not right now, but I did. > But as a teacher, you have a completely different problem: You need a really simple, easy to explain environment - no fuss, no unnecessary complexity. Just tell them to ignore that complexity and only press this and this. When I was a kid we were taught to code (simple games in C/WinAPI and C++/MFC) in Visual Studio 6 Enterprise Edition on Windows NT. Visual Studio (especially its enterprise editions) traditionally has tons of features which still seem extraterrestrial to me but you are safe to ignore them. Just don't click those weird menu/toolbar items. Just create a project, write the code (with help of super-smart auto-completion) and press Run, use some conveniences (like refactoring and debugging) once you are told or read about those particular. Easy-peasy.
- graphpapa 6y ago“Here’s something that isn’t meant for your use case, but just ignore most stuff” Vs. “This does exactly what you want” Of course, there are advantages to learning with the same tool you could also go on to use professionally.
- ineedasername 6y agoJust because you learned using a more complex tool doesn't mean it wouldn't be easier for most students to learn using a less complex tool. It just means learning with a complex tool is possible. I don't think anyone would argue against that. They're just arguing it might be easier the other way around.
- bxlcarson 6y agoI'm surprised that you find Vim unintuitive elsewhere and talk about "just" creating a project in VS. VS projects in the IDE are one of the most convoluted development ways I've ever seen. Students won't learn anything except developing Stockholm Syndrom for a bloated proprietary environment. If it must be Windows, I'd rather teach cl.exe and Makefiles or adapted .vsproj files with msbuild.
- qwerty456127 6y ago> I'm surprised that you find Vim unintuitive elsewhere and talk about "just" creating a project in VS. Just go to the "File" menu, Click "New project" there, choose the type (a console app or a GUI app), enter the name and press Ok. The teacher shown us when I was a kid and nobody found this difficult. Of course, we never cared (until grown up and started to care about versioning) about the auxiliary files the IDE created to accompany the code in the project - understanding those never happened to be a necessity.
- newswasboring 6y ago>Just tell them to ignore that complexity and only press this and this. You have used 3 "just do this" kind of statements in this comment. I would not like to be in your class. Students should be encouraged to explore, and its a teacher's responsibility to create an environment where its fun and valuable and not frustrating. This is why newtonian mechanics is taught before quantum and quantum mechanics before quantum field theory. Once a person is familiar with one abstraction you drill down. I know all this is hard, but if it was easy everyone will just teach themselves. The whole point of having a teacher is someone who can setup a protective bubble around you when learning.
- tasty_freeze 6y agoImagine telling the students to use vim if they have never used it before. In theory, one only needs to know a few things to edit: - type vi <filename> to start editing - there are two modes: 'i' to start insert mode, <esc> to leave it for normal mode - in insert mode, what you type is entered as you type - in normal mode, use the cursor keys to move around - in normal mode, type 'x' to delete the character under the cursor - type :wq to save and quit What are the odds a vim-virgin could complete a programming assignment without getting tripped up, despite the explicit directions to use just the features above?
- qwerty456127 6y ago> Imagine telling the students to use vim I can hardly imagine that. They would hate me for wasting their time they could use to learn something practical. To me Vim seems a crazy alien technology of particularly questionable usefulness (even for a keyboard-centric user), only suitable for fun and for looking cool. Unlike PyCharm or Visual Studio, Vim doesn't just have unintuitive features available to whoever chooses to invoke those, it is and can only be operated in a completely unintuitive way, impossible to learn without instruction. And I never needed any instruction on how to use, let alone exit PyCharm.
- nocman 6y ago> I can hardly imagine that. They would hate me for wasting their time they could use to learn something practical. To me Vim seems a crazy alien technology of particularly questionable usefulness (even for a keyboard-centric user) I know tons of developers and system administrators that use vim on a daily basis (that includes me). While I agree that I would not necessarily recommend it for a beginning student, it is entirely unfair to describe it as having "particularly questionable usefulness", and "only suitable for fun and for looking cool". I and many others use vim for real work, not for "looking cool". Yes, the learning curve is high, and it requires investing some time to learn. My experience is that the time I spent learning it was well worth the investment. It's not for everyone, but that doesn't mean that it not for anyone.
- 6y ago
- F00Fbug 6y ago> Not really No, really! Sorry, but I've run hundreds of students through this course and that's my actual experience. I love PyCharm. It's a great tool. It's not what beginner programmers need to learn the fundamentals of programming.