5 ms·
I felt that this was well written. Do you have a better definition of source code that is: - Accessible to the general public (it's a BBC article) - One sente
by dlkf 5y ago
I felt that this was well written. Do you have a better definition of source code that is:
- Accessible to the general public (it's a BBC article)
- One sentence long (you will lose readers if this becomes a cs101 lecture)
- Articulates why a source code leak matters
- bayindirh 5y agoI don't think it's a bad definition but, it sounds a little bit inaccurate here and there. Something in the lines of "Source code is the human readable version of the end product before it's packaged for computers, and it's much easier to read and understand. Also, the source code may allow reverse engineering of the product in question" would be more precise and similarly understandable IMHO.
- phist_mcgee 5y ago- packaged is a word that doesn't make sense unless you explain it. Do you mean putting the end product in a box? - I would say even that reverse engineering, as mentioned, is not something the layman understands.
- amarant 5y agoYeah i also reacted to the reverse engineering part. But mostly that if you have the original source code, can you really call it reverse engineering? Other than that the article was fine IMO
- lewispollard 5y agoI also thought that was funny wording, but I guess if you only have partial source code of a program, it can help to reverse engineer the full program (as you'll have some access to symbol names, structures, patterns etc)
- kevincox 5y ago> packaged is a word that doesn't make sense unless you explain it. Do you mean putting the end product in a box? I mean yes. It isn't that long ago that software was sold in boxes. So the packaging analogy is probably within reach of most people. But maybe "released" or similar would be more widely understood.
- DonHopkins 5y ago"Human readable" presumes a lot -- remember we're talking EA here! ;) https://news.ycombinator.com/item?id=27471488 https://news.ycombinator.com/item?id=27471488
- GuB-42 5y agoI like the GPL definition. > The “source code” for a work means the preferred form of the work for making modifications to it. But the BBC article definition, while less precise, is more relevant to the subject.
- scrps 5y agoI've always described source code to non-technical people as the recipe and ingredients, compiling as the baking, and the software as the bread loaf. Seems to land for most people
- robtaylor 5y agoI love this - thank you.
- StavrosK 5y agoOoh I like this one, thanks!
- heavenlyblue 5y agoWhat do you achieve with this explanation? This metaphor literally has zero predictive value. For example, it may be quite hard to reverse-engineer a loaf of bread, but reading assembly is actually quite easy to understand what the program actually does.
- ryder9 5y agoit's an analogy, you're not supposed to overthink it
- apocalyptic0n3 5y agoReading Assembly may not be difficult, but reverse engineering and figuring out what it is doing is. Same as with bread. Pulling a loaf of bread apart and seeing the individual grains and how the connect isn't difficult, figuring out the process for making it is. If you're trying to explain to a non-technical person what source code is, the bread example from OP is actually a great analogy. It's simple, to the point, and almost everyone will know how bread is made. Is it oversimplified? Sure. But that's the entire point of trying to give a real brief overview to someone with no technical experience.
- wizzwizz4 5y agoThe only difference is that we have the equivalent of molecular nanoassemblers for code, but not for bread.
- designium 5y agoI agree that is well written. You can open the binary file in a text editor and it will be much harder to actually read it. Next best solution is to use a HEX editor but having the source code will make it much easier to understand.
- flatiron 5y agoNow a days a lot of games you can’t even do that. They run the games in a vm so crackers and hackers can’t mod it.
- FridayoLeary 5y agoI think the phrase "source code" is basically self- explanatory.
- flatiron 5y agoTo this audience yes. My wife a 38 year old college grad in law school has no clue what source code is and she’s married to a computer programmer.
- slowmovintarget 5y ago"Source code is like the Lego instruction booklet. If the computer follows the instructions, it gets a nice rocket ship to play with." (This is what I used for my child.)
- mulander 5y agoI would say that "source code is the blueprint of a computer program". If you look at the wikipedia entry: > A blueprint is a reproduction of a technical drawing or engineering drawing [...] allowed rapid and accurate production of an unlimited number of copies. and even if no-one reads the definition, the term is in common use. Spies stealing blueprints of weapons in movies / real-life being an immediate example.
- tshaddox 5y agoYeah, I think that “blueprint” or “plans” works pretty well, especially if you think about it like the plans for a weapon (say, an advanced airplane) that one country wants to keep a secret so that other countries can’t figure out how to build the same weapon. The other countries will be able to see the airplane, they may even get their hands on one of them, but you definitely don’t want them to get their hands on the plans.
- deleted 5y ago[deleted]
- kenjackson 5y agoI'm not sure I like the definition given. It makes it sound like it is an alternative version of the program that is often easier to read. I think the key element of source code is that this is what is written and read by programmers -- it is akin to the secret recipe for Coke.