The scenarios you’ve posed doesn’t make candidate 2 any less replaceable. Maybe candidate 1 is needed for whatever advanced AI the dating app uses, but there’s many non-foreign options for the function candidate 2 is performing at ImportantCorp.
That point hasn’t been hit yet. Discouraging people from learning programming because you anticipate that point to come soon is unfortunate coming from a manager of programmers. Regardless of job opportunities, which I disagree with but is beside the point, being able to program increasingly allows people to create value and bring ideas to existence.
If your only reason to hate a language is that it's making improvements (that you can't/won't keep up with), it would seem that language is doing something right
Passion implies things other than working longer than everyone else. For example, people passionate about programming often are better at debugging in those 8 hours than someone who wants to just get out.
Also, I don't understand the use of images here. Your first one is basically the equivalent of a cliche speech starting with, "The Marriam-Webster dictionary defines passion as..."
"To me a phone is a poor man's computer that you have to use when you are on the road, but if you are in front of your desk, there is no reason you should be forced to use an inferior input interface to interact with your accounts when you have a keyboard and a trackpad in front of you."
You think you misunderstood; I didn't try it and not like it, I just never tried it. I'm most productive on Vim/Terminal right now. From a quick google search, it doesn't seem like I can use all the Vim commands in an IDE (though I see some articles on using Vim AS an IDE). Have you personally tried both and preferred an IDE over Vim/Terminal?
Negative or not, I really appreciate the constructive criticism.
In response to your comments on watch: Indeed, right now it only identifies AST nodes of type "asgn". I imagine other mutations like append and others have different types too, I just haven't gotten around to implementing that. My bad for posting this in a pre-release state.
"Even if you modified the code to support this, you wouldn't be able to control access everywhere that piece of data went."
I can see two potential solutions:
1. Identifying nodes of type "call" that have a watched variable as an arg, and then adding an if statement to check if it has changed and printing it only if it has.
2. Analyzing AST of ThirdPartyLib.do_stuff(arg1), identify statements that mutate arg1, and logging a change after the call in the original program if arg1 is changed. This way even if the value isn't changed, it's still logged because it was mutated (or at least attempted to), which is probably more desirable than solution 1.
In response to Mock: Aside from Mock, people have told me they prefer the logging library, pdb, IDEs, etc. for debugging. PyScribe isn't meant to be a separate method of debugging, I intended it to supplement my preferred way, which is just using print statements. Might be it's not the most powerful, but its purpose isn't to compete with other methods of debugging.
I wish I could give you pros and cons, but I've never touched pdb or used a python IDE before myself. In my 3 years of programming, I've only used print statements to debug (for Python programs).
I'll be adding more documentation soon, but perhaps this is a more informative use case: Too often in my Python programs, I'll do something like,
print("x is: " + str(x)).
That's already too much to keep typing, but sometimes I'll want to know the type, or maybe it's a dictionary and printing without separators makes them blend together (say, in a for loop). In that case, I'll do:
print("---------\nx is: " + str(x) + "\n")
The library allows this to be simplified to "ps.d(x)". It's rather opinionated towards my own workflow and what I was too lazy to keep doing. Perhaps I'll try pdb one day and find my library useless.
I'm not exactly sure if it doesn't work on Python3, I had only tested it on 2.7 so it mightt (there aren't any external dependencies). I'll probably test it on Python3 and safely include that in the supported versions soon.
I'm working on my first open source project: a Python library to make debugging with print statements easier and more efficient.
http://www.github.com/alixander/pyscribe