Hacker News new | past | comments | ask | show | jobs | submit login

For me part of this is a matter of context. The time when I was coding in a single language uninterrupted for months (I think I went a couple of years in one case) are long gone. Once you start context switching between languages, platforms and frameworks, things are very different.

Perhaps the easiest way to explain it might be CSS. If you work with CSS all the time, you retain and recall approaches to solving problems and, more than likely, have developed reusable code to copy-paste-modify. However, those of us who don't touch CSS full time always run into the dumbest of issues (centering and alignment come to mind).

For me modern autocompletion tools are like asking for a capability being loaded into the Matrix. This allows me to switch between just polar opposites as Javascript and Verilog and almost not miss a beat.

Given the right context, I would not fault anyone for relying on these tools. Solving problems computationally isn't about remembering ridiculous syntactical differences between languages but rather about data structures, algorithms, performance and process. If you have a solid background in CS and experience developing software, not remembering the differences between C, C++, Objective-C, Swift, JS, etc., etc., etc. isn't that important.

One caveat: There are domains where you need to have a certain level of expertise without assistive tools. One example of this is mission critical real time systems. Than again, this isn't about remembering syntax and more so about being able to write performant code that is safe.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: