9 ms·
Meh Notation in any field is a barrier to entry. See programmers takes on both math and music notation that are often posted here. The thing about notation th
by swiley 6y ago
Meh
Notation in any field is a barrier to entry. See programmers takes on both math and music notation that are often posted here.
The thing about notation that people sometimes don't think about is that it's used by many different types of people. Some things that would be convenient when notated implicitly make thinking about other things difficult.
- Waterluvian 6y agoAnd just like programming, there are versions of those with easier notation to ease entry. Anyone remember all the different ways music was represented as they grew up? What about guitar tabs? I remember simplified math as a kid. I think this hits on the right approach, which already exists: different languages with different complexity levels for notation.
- FartyMcFarter 6y agoIt's interesting that guitar tabs are quite close to old tablature notation, which was used for lots of string instruments such as the lute. Renaissance lute music is usually tabbed.
- Waterluvian 6y agoThanks for sharing. I had no idea. I think it’s a really interesting approach of stripping away a ton of information and relying on the musician having heard the music before.
- beagle3 6y ago> Anyone remember all the different ways music was represented as they grew up? What about guitar tabs? I remember simplified math as a kid. I don't remember different notations for math and music as a kid... Music was always sheet music, even when I learned classical guiter; Chord names were "procedures", at times spelled out, and sometimes only referenced. Guitar tabs exist, but were only for people who wanted to play without taking the time to actually learn the craft (at least when I was growing up) EDIT: This was the attitude of every teacher around me growing up, not mine. As for math - other than having variables written down as empty squares, circles, triangles and stars which were later replaced by letters, I think the first real simplification of math notation that I met was Einstein summation; Everything else was just building on previous things, sometimes with new concepts (like complex numbers) and sometimes as shortcuts (limits and infinites). But they were all shorter than what they replaced, and compatible. > I think this hits on the right approach, which already exists: different languages with different complexity levels for notation. There was a guy who proposed something along the article's lines in 1958, which went even farther - instead of "single word descriptions", he chose a single symbol graphical description, because -- though ignored by the author of this article -- most of the world does not have English as their first language. I like the result of that 1958 suggestion a lot; most people place a SEP field over it. The guy is called Kenneth Iverson and the language is called APL with modern descendants J and K.
- matthewmacleod 6y agoGuitar tabs exist, but were only for people who wanted to play without taking the time to actually learn the craft This attitude really rubs me the wrong way. Tablature is absolutely ancient. It's been around for hundreds of years, and this glib dismissal is just the absolutely epitome of an elitist mindset.
- beagle3 6y agoI just added an edit: I wrote this, but this wasn't my mindset -- that was the mindset of every teacher and adult around me growing up, including those who couldn't read sheet music and used tablature to play. (Yes, I did grow up in a culture highly inspired by older/east european ideals, where kids were welcome to do whatever they want such as learn the guitar, after they've finished their homework, practiced their piano lessons. And as long they're on a path that -- if kept -- would lead them to be on a professional level) I played classical guitar for a few years, but stopped because I just wanted to play popular music, and there were no teachers around who actually taught that who were accomplished enough to be considered worth the money by my parents (who had a very limited budget).
- andrewzah 6y agoThe fact that tablature is ancient doesn't mean it's great for "learning the craft" (in other words, understanding music theory). The age of a notation system is completely irrelevant when deciding what notation system to use, really. Tablature (for guitar/bass guitar, anyway) reduces note and rhythm information to merely a fret# on a string. This is perfectly fine for people who just want to play a song. I look at tabs sometimes for a quick reference since it's just mentally easier than sheet music. But if you want to start understanding the theory and relationships between those notes and chords to any meaningful degree, you really do need to start using sheet music. "Fret #3 on the E string to Fret #3 on the A string" doesn't communicate information like "G -> C" does (like the key center, the tonic, etc). It also doesn't limit you to any specific section of the fretboard. Sheet music is really not that hard to learn. If you want to just use tabs, go ahead, but it's not elitist to point out that sheet music is basically essential for progression as a musician. Music theory is a fundamental part of that progression, unless you just want to play tablature (or sheet music) robotically.
- TeMPOraL 6y agoNotation is a tool for thought. You want to optimize it for the problem you're solving. Not that PL notation is optimal, but being beginner-friendly is about the last thing one should care about.
- ht_th 6y agoExcept in a programming language designed for learning programming. Ideally, we would have a good educational language with a clear path mapping the notation from that language to more common notation used in programming languages designed for computer science, software engineering, or software development.
- marcosdumay 6y agoI think Python filled that niche. It's not perfect by any means, but it's better than what people used before (Basic, Pascal). Anyway, if you want an actually good option, Logo is still around. But it does not let you create anything really interesting, so you better get through it fast or your courses will become boring.
- beagle3 6y agoI've been thinking about this a lot lately, and I agree Python is way better than Pascal or Java which it replaced as an introductory language. But I'm not sure it's better than old basic. Python is definitely more readable - but it is less helpful than e.g. line numbers in helping form a mental model of a running program; and from my experience, "goto" and then "gosub + return" are easier to explain than funcs with local scope. If I had to teach newcomers today, I would definitely teach Python -- because, once they do get it, it is actually useful for whatever they need to get done tomorrow morning. But I suspect e.g. BBC Basic (which has goto, gosub but also proc and local) would be easier for them to learn, and would get them farther in understanding programming in a shorter time.
- 8fGTBjZxBcHq 6y agoI have taught newcomers quite a bit and until you've done it you probably shouldn't trust your intuition about what non-programmers will and won't get hung up on. Also like you mentioned, in even the medium-short term the thing that will get people learning the fastest is the thing that gives them a reason to code. Pretty much always right now that's going to be JS or sure maybe python.
- mumblemumble 6y ago> Some things that would be convenient when notated implicitly make thinking about other things difficult. This really comes out in math, where choice of notation can call attention to different aspects of a concept. The Wikipedia page for ordinary least squares, for example, freely intermixes (depending on how you count) 3 or so different styles of notation. I think that this is why I've always been fascinated by Knuth's literate programming. If you want to make something more understandable, saying it twice in two different ways is a great technique.
- MontyCarloHall 6y agoI disagree. There’s a reason NumPy is extremely popular and APL/J never were, even though semantically they are extremely similar [0]. It’s not because it’s difficult for people to grasp the underlying concept of array-based programming, it’s because NumPy’s notation is far simpler to learn. [0] https://analyzethedatanotthedrivel.org/2018/03/31/numpy-another-iverson-ghost/ https://analyzethedatanotthedrivel.org/2018/03/31/numpy-anot...
- beagle3 6y agoAPL (and especially J and K) are about a lot more than array based programming, and NumPy didn't try to encompass those, which is part of the reason it is easier to learn. K below: ,// |/0(0|+)\ The first expression is usually called "flatten" (take a nested list and produce the list of all items in a single-level, in order). The second expression is a solution to the maximum-subarray-sum problem. Both of them leverage a hell of a lot more than "array" programming; in each case, every single character brings its own semantics, and the combination yields the semantic of the entire expression. Not disagreeing that NumPy is more popular. Am disagreeing that they are "extremely similar".
- jodrellblank 6y agoThat doesn't sound right to me; APL's notation is not particularly difficult to learn, especially if you're familiar with existing basic math and programming language symbols. What's hard is grasping the underlying concept of array-based programming and using it to do useful work and solve problems. NumPy is popular because it piggy-backs on a popular, widely used, and free language which also does a lot more than array manipulation, if NumPy existed on its own then its notation would not be simpler to learn it would be bizarre.
- screye 6y agoMusic notation is actually terrible, even musicians agree to that. It clearly developed as a way to reason about music that already existed in the west at that point, rather than be a principled way to go about understanding the underpinnings of music.
- beagle3 6y agoTrue (I hate it too). And like democracy, it's the worst idea (except every other system that has been tried). I've looked at many notations over the years, and each seems to get one thing exceptionally right at the expense of nearly everything else (and unusable for some cases), whereas standard sheet music is universally bad for all uses, but not bad enough to make it unusable for any common use -- at least as long as you stay within the 12-notes-per-octave world)
- fortran77 6y agoMaybe it is, maybe it isn't. But it's not keeping people from being musicans. Im 57, and have been playing the piano for 50 years. (I still practice 2 hours/day). The problem with piano isn't reading the music, it's getting your hands in the right place, at the right time, with the least amount of effort, to be able to control the keys the way you want to. Most of my practicing is getting from one place to another on the keyboard. I'm practicing the space "between" the notes (or positions on the keyboard; I start off by 'grouping' things). That's why I'm amused when I see "learn keyboard" systems that somehow make you believe the problem is simply seeing a C# two octaves above middle C on the staff and figuring out where it is on the keyboard. You can learn all that in a week. The rest takes years.
- Doctor_Fegg 6y ago> The problem with piano isn't reading the music Generally, but not always. I find the deep chromaticism of Messiaen or even Vierne (organ, not piano) very badly served by traditional musical notation - I have to stare at it for ages before it becomes apparent what I should be playing, whereas I can sight-read a typical SATB hymn.
- Silhouette 6y ago
- tsumnia 6y agoThe issue is that no one in CS seems to care that "Notation in any field is a barrier to entry". Almost all CS Ed research presently focuses on the problem-solving skill of CS rather than the technical literacy. There is almost no interest from educators to train this literacy despite work from myself [1] and others [2] saying that explicitly training these skills improves student performance. The issue, in my opinion, is that notation and technical literacy are skills that students are "expected" to pick up through proxy. They do problem-solving problems, so they are getting experience coding. But the issue with this is that since novices are struggling with notation/syntax, they are juggling problem-solving issues (logic errors) and technical issues (syntax errors). [1] https://dl.acm.org/doi/pdf/10.1145/3373165.3373177 https://dl.acm.org/doi/pdf/10.1145/3373165.3373177 [2] https://digitalcommons.usu.edu/cgi/viewcontent.cgi?article=8995&context=etd https://digitalcommons.usu.edu/cgi/viewcontent.cgi?article=8...
- klank 6y agoIs part of this due to an academic vs. professional dichotomy? i.e. most CS undergrads are CS undergrads to become professional developers, while most CS undergrad courses are taught with an eye towards further graduate/academic work?
- tsumnia 6y agoI wouldn't say so; I've taught for a community college, teaching college, and R1 and while there are differences, it seems to be a consistent issue across the board. While there are clearly individuals more interested in graduate work, there are groups with a primary goal of preparing students for industry.
- jimbob45 6y agoNo one seems to care? What is Python if not a referendum on unclear keywords and whitespacing?
- tsumnia 6y agoSorry, I mean to say in the CS Education domain.