Zettelkasten Forum


Capturing different programming languages

I'm learning computer programming. I need to learn different programming languages and I'm not sure how to capture them.

So far, I have a structure note for "Computer programming" in general and then one for each language.

Problem is, I have a lot of overlap. E.x., "Computer programming" contains an "Array" note. But, each language has one of their own except they explain unique syntax/behavior. Then, these "Array" notes link to each other. It's a pain.

When I'm really not feeling it, I just do lists instead. E.x., "Relational operators" and a note per operator. Meanwhile, the languages only have a list of the operators and no individual notes.

Feels like layers uselessly stacking upon each other?

I considered keeping only one note per concept and including language-specific differences there. But then, the notes get too big. Also, I can't link to language-specific notes.

What do you guys think? Am I overcomplicating it? Or under-thinking it? How would you go about something like this?

Comments

  • edited October 22

    I'd write one note for each concept you want to learn, eg "array", and only add examples from programming languages that you need to understand the concept.

    I wouldn't try to completely document all languages in detail. Syntax is something that I look up as needed.

  • @Annabella said:
    I'm learning computer programming. I need to learn different programming languages and I'm not sure how to capture them.

    So far, I have a structure note for "Computer programming" in general and then one for each language.

    Problem is, I have a lot of overlap. E.x., "Computer programming" contains an "Array" note. But, each language has one of their own except they explain unique syntax/behavior. Then, these "Array" notes link to each other. It's a pain.
    ...
    What do you guys think? Am I overcomplicating it? Or under-thinking it? How would you go about something like this?

    I wouldn't try to bring complete syntax details into my Zettelkasten system. I would only write notes about specific things that you feel you need to have reminders about. Otherwise I usually start with an internet search, like "python list syntax". You will learn which sites are worth visiting and which are worthless.

    Techniques that are specific to a language can be worth capturing. I needed to determine if a Python string represents a date, and there is no way I'm going to remember that. Once I looked it up and worked out a way to do it, I wrote a note for the solution. You might want to write a note on which common languages use 1-based numbering for lists or arrays, for example.

    But it would be easy to get overwhelmed by quantity, and a lot of the information is out there on the web. Generally I think it's better to only note things that are the result of some thought on your part that unifies or distinguishes some subject.

    Of course, there is more the writing software than language syntax and details, much more. Language details are the least of it.

  • Guess I've got to take it down a notch. I'll be integrating the specifics into the general notes. Goes for solutions too. No more layer bloat :) Those specifics didn't hold much information anyways.

    I don't like having to look things up, that's what my Zettelkasten is for. Then, it's a matter of repeated practice to remember it.

    Thanks everyone!

Sign In or Register to comment.