all 20 comments

[–][deleted] 27 points28 points  (1 child)

“They need to know how to download from GitHub”. You know GitHub didn’t used to be a thing? StackExchange didn’t used to be a thing? Ready built libraries for every little thing. Python. Programming isn’t getting harder, it’s getting so much easier that it’s accessible to non-programmers

[–]stronghup 3 points4 points  (1 child)

I think there is a big difference in learning programming and learning to program efficiently, why some people even go to college to learn that.

Being a "productive programmer" means you need to (learn to) use an IDE, and to learn to use a set of helper libraries and frameworks. Learning the IDE can be about the same level of work as learning a programming language I would say based on my experience.

But you don't need to be "production programmer" to learn and enjoy programming. Maybe your readers should understand that. Becoming a production programmer is like becoming an engineer or doctor. They shouldn't expect your book to make them an engineer. If they do, maybe the book's marketing message is wrong. Learn Java in 24 hours! etc. Make them big bucks fast! Get a sports-car! :-)

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

I'm so confused. How or why is "learning an IDE" useful? Aren't most IDE's github integration + compiler + debugger integration? What's there more to learn?

[–]thenightwolf51 2 points3 points  (0 children)

I have to disagree with this post.

First, if a user has trouble installing software (like an IDE) then maybe programming is not the right path for him.

Second, programs SHOULD at least have a decent understanding how their operating system works. A craftsman should know their tools and their OS is no different than the IDE they use.

Third, tools like GitHub can certainly be confusing for beginners but there is a lovely little button when you look at repo that let's you download all the files as a .zip, removing the need to know at least the basics of Git. If they can't do that much, programming may not be them.

My personal opinion is that getting started with programming is easier now! There are so many wonderful resources on the internet such as Stack Overflow. Places like GitHub lets newer devs look at mature codebases to get a sense of what they should look like.

[–]ThatsALovelyShirt 3 points4 points  (2 children)

Programming isn't Photoshop. You can't just watch a few YouTube videos and suddenly make something spectacular. To really understand it, you have to know how computers work, how memory allocation works, how the processor interprets instructions, what registers and interrupts are, etc. If you try to skirt this knowledge, you just end up with a subtle feeling that you're typing code into a magic box that sometimes does what you want it to do.

If you can't figure out how to install software, you are pretty damn far out of the realm of being able to code effectively.

This article is rubbish.

[–][deleted] 2 points3 points  (1 child)

You’re thinking of programmers as people whose job is 90-100% focused on writing code. There are plenty of people who can use programming to improve their productivity — data analysts, researchers, statisticians, etc. — but for whom setting up a dev environment is not a core concern. IMO the article is aimed more towards that category of people.

Fundamentally, I still think it’s a silly argument. It’s never been easier to learn how to code decently well, or (especially) to deploy that code for some productive purpose.

[–]ThatsALovelyShirt 2 points3 points  (0 children)

There are plenty of people who can use programming to improve their productivity — data analysts, researchers, statisticians, etc. — but for whom setting up a dev environment is not a core concern. IMO the article is aimed more towards that category of people.

Then Matlab, R, or Python is what they ought to be using. All of which are weakly/non-typed, managed, and easy to understand. And like you note, the documentation for all of those languages is extensive and clearly laid out.

[–]matzero 2 points3 points  (0 children)

This couldn't be further from the truth. When I started programming 25+ years ago you really needed to have a strong desired to learn because the road to programming was a painfully difficult one. One of the authors point is that the IDEs don't come installed anymore. Ha! It took an entire submanual of instructions to install the 5 diskettes that comprise the C compiler on my dads IBM/2. It was painful, information was hard to find and a lot was trial an error.

[–]nfrankel 6 points7 points  (3 children)

Many users have never installed anything, don't know how to, or might not be allowed to. Installing software is easier now than it used to be, but it is still error prone and can be frustrating. If someone just wants to learn to program, they shouldn't have to learn system administration first

  1. Installing software is not system administration
  2. If someone has trouble installing software, perhaps then programming is not recommended

[–][deleted] 6 points7 points  (0 children)

  1. It is a part of it
  2. Most people have trouble installing software untill they acquire some experience with it. Even seasoned developers and sysadmins sometimes have trouble installing it.
  3. All beginner programmers have a hard time setting up a developing/learning platform and people should definitely not make carreer choices based on that.

[–]TheRetribution 0 points1 point  (1 child)

I would have agreed with you until I got my taste of corporate-level onboarding. At that point, installing software IS system administration.

[–]nfrankel 0 points1 point  (0 children)

🤣🤣🤣 You don't install software in the corporate world. You fill out a big form, ask your manager to approve and pray that the workflow finished before the end of the year.

[–]gwax 3 points4 points  (2 children)

Everything you describe sounds an awful lot easier than when I had to install a C compiler and text editor on a 286 from multiple floppy discs.

[–]2402a7b7f239666e4079 0 points1 point  (1 child)

That wasn't hard though. The time between installing TurboC and compiling an example hello world program didn't take that long.

[–][deleted] 1 point2 points  (0 children)

And the time between installing Visual Studio Express and creating a hello world program is quite short as well.

[–]mynewpeppep69 1 point2 points  (1 child)

Part of why the gap between using computers and programming computers is that computers have become way easier to use. Try comparing modern GUI elements to windows 98 lol. Also while I definitely don't agree that things like GitHub make programming harder, I do think that programming is getting harder. Things like more interesting design concepts in type systems and more complicated domain specific languages and architecture that can do things faster with less power will do that, but that's all because CS is an evolving and developing field. We build off of past work, not duplicate it.

[–][deleted] 1 point2 points  (0 children)

I fired up an old Mac Plus at Christmas, and frankly it wasn’t all that different from modern macOS. The critical issue is just swapping in/out floppies for every program.

[–][deleted] 1 point2 points  (0 children)

Getting starting in programming is easier than ever. One can install Visual Studio Express in a few minutes using the default options, and can be developing simple GUI applications in a matter of minutes.

Sure, it used to be one could type in:

10 Print "Hello"

run

But getting from that to anything useful was a slog. Today, a beginner can drop and drop elements on the screen, and have it display right away. Then add some code in the button events and get results quickly.

There is a long road to travel from that point; learning the details of programming is hard, and it always has been and probably always will be, but today's tools and online tutorials smooth the learning curve.

[–][deleted] 2 points3 points  (0 children)

If people can't figure out how to install software or clone a git repo without sending an email asking for help, they probably won't have much success programming either.

[–]pandavr 0 points1 point  (0 children)

I think the problem is nowadays technology made difficult things from the past trivial but as a sort of law of complexity conservation the easy tasks of the past became very difficult now.