The Missing Semester of Your CS Education (2020)
71–80 of 347 posts
Re: The Missing Semester of Your CS Education (2020)
#72Re: The Missing Semester of Your CS Education (2020)
#73Re: The Missing Semester of Your CS Education (2020)
#74BTW: Pops up every year seemingly. E.g. 3yrs ago with more than 1000 comments:
Re: The Missing Semester of Your CS Education (2020)
#75Re: The Missing Semester of Your CS Education (2020)
#76Earlier quoted context omitted.
Hi! I'm that person! Senior engineer, decade of experience. I've used debuggers in the past, both for running code and looking at core dumps, but I really don't find them to be cost effective for the vast majority of problems. Just write a print statement! So when I switched from C to python and go a couple jobs ago, I never bothered learning how to use the debuggers for those languages. I don't miss them.
> I never bothered learning how to use the debuggers for those languages. I don't miss them. This could be causal.
Re: The Missing Semester of Your CS Education (2020)
#77I would add jq to the data wrangling section https://stedolan.github.io/jq/ Being moderately competant at jq on a team that doesn't know jq is a super power.
Re: The Missing Semester of Your CS Education (2020)
#78Earlier quoted context omitted.
A talented developer who doesn't know how to set a breakpoint sounds contradictory to me.
Hi! I'm that person! Senior engineer, decade of experience. I've used debuggers in the past, both for running code and looking at core dumps, but I really don't find them to be cost effective for the vast majority of problems. Just write a print statement! So when I switched from C to python and go a couple jobs ago, I never bothered learning how to use the debuggers for those languages. I don't miss them.
What I find is that if my code isn't working, I stop what I'm doing. I look at it. I think really hard, I add some print statements and asserts to verify some assumptions, and I iterate a small handful of times to find my faulty assumption and fix it. Many, many times during the 'think hard' and look at the code part, I can fix the bug without any iterations.
This almost always works if I really understand what I'm doing and I'm being thoughtful.
Sometimes though, I don't know what the hell is going on and I'm in deep waters. In those cases I might use a debugger, but I often feel like I've failed. I almost never use them. When I helped undergrads with debuggers it often felt like their time would be more productively spent reasoning about their code instead of watching it.
Re: The Missing Semester of Your CS Education (2020)
#79I love vim, it's great to know how to navigate it, but I have met very few people who use it professionally. I'd love to hear others' experiences, there.
Re: The Missing Semester of Your CS Education (2020)
#80I would add jq to the data wrangling section https://stedolan.github.io/jq/ Being moderately competant at jq on a team that doesn't know jq is a super power.
Any reason why you would use jq over Python? Certainly this can be attributed to my lack of knowledge in jq, but anything beyond a simple query is going to be done with Python for me. Beyond not having to look up query syntax, doing it in Python (or any script) is easier to read (both during and after writing it) due to auto formatting in an editor.