|
OriginalGriff wrote: What is the capital of England? (1) I got this one: 'E'
But that doesn't mean I'm in for next CCC, though
"Five fruits and vegetables a day? What a joke!
Personally, after the third watermelon, I'm full."
|
|
|
|
|
Thought you might have gone with:
Drug capital of England (1)
|
|
|
|
|
Hey - I didn't want to make it too cryptic for QA ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Yes, but if you're sneezing, you have to work from home.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
I've only just started this book, but it is fantastic! It's difficult to find an author who has a great overview understanding like this, but then has the technical chops too.
This book reminds me of the great tech writers (Petzold, Prosise,McConnell) of the past who were able to put things in the right context and you just wanted to sit and think about what they had said. Kind of like having the author in the room and just talking things over.
The Secret Life of Programs: Understand Computers -- Craft Better Code - Jonathan Steinhart[^]
Quote: A few years ago, I was riding on a ski lift with our Swedish exchange student. I asked her if she had thought about what she was going to do after high school. She said that she was considering engineering and had taken a programming class the previous year. I asked her what they taught. She replied, “Java.” I instinctively responded with “That’s too bad.”
Why did I say that? Took me a while to figure it out. It’s not that Java is a bad programming language; it’s actually pretty decent. I said it because of the way in which Java (and other languages) are typically used to teach programming today—without teaching anything about computers.
Quote: Learning to Code is Only a Starting Place
Part of the reason for this state of affairs is that it’s not all that difficult to write computer programs that appear to work, or work much of the time. Let’s use the changes in music (not disco!) in the 1980s as an analogy. People used to have to develop a foundation in order to make music. This included learning music theory, composition, and how to play an instrument; ear training; and lots of practicing. Then the Musical Instrument Digital Interface (MIDI) standard, originally proposed by Ikutaro Kakehashi of Roland, came along, which let anyone make “music” from their computer without ever having to develop calluses. It’s my opinion that only a small percentage of computer-generated “music” is actually music; it’s mostly noise. Music is produced by actual musicians—who may or may not use MIDI to build on their foundation. Programming these days has become a lot like using MIDI. You no longer have to sweat much or spend years practicing or even learn theory in order to write programs. But that doesn’t mean these are good or reliable programs.
Quote: This situation is likely to get worse, at least in the United States. Wealthy people with vested interests, like those who own software companies, have been lobbying for legislation mandating that everybody learn to code in school. This sounds great in theory, but it’s not a great idea in practice because not everybody has the aptitude to become a good programmer. We don’t mandate that everybody learn to play football because we know that it’s not for everybody. The likely goal of this initiative is not to produce great programmers but rather to increase software company profits by flooding the market with large numbers of poor programmers, which will drive down wages. The people behind this push don’t care very much about code quality—they also push for legislation that limits their liability for defective products. Of course, you can program for fun just like you can play football for fun. Just don’t expect to be drafted for the Super Bowl.
In 2014, President Obama said that he had learned to code. He did drag a few things around in the excellent visual programming tool Blockly, and he even typed in one line of code in JavaScript (a programming language unrelated to Java, which was invented at Netscape, the predecessor to the Mozilla Foundation that maintains numerous software packages, including the Firefox web browser.) Now, do you think that he actually learned to code? Here’s a hint: if you do, you should probably work on honing your critical thinking skills in addition to reading this book. Sure, he may have learned a teensy bit about programming, but no, he didn’t learn to code. If he could learn to code in an hour, then it follows that coding is so trivial that there wouldn’t be a need to teach it in schools.
|
|
|
|
|
But ... but ... coding is just finding the right chunk of code on SO, CP, or YT and chucking it at any old compiler you can find. The errors aren't your fault!
I thought everyone* knew that.
* Certainly, everyone asking questions in QA does ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
OriginalGriff wrote: But ... but ... coding is just finding the right chunk of code on SO, CP, or YT Of course it isn't!
There's also the big job of posting "Send me codez" requests in QA! Clearly, you totally forgot about that! Are you sure you're really a coder at all?
Anything that is unrelated to elephants is irrelephant Anonymous
- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944
- Never argue with a fool. Onlookers may not be able to tell the difference. Mark Twain
|
|
|
|
|
Damn! I've been sussed out as the fraud I am!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
OriginalGriff wrote: But ... but ... coding is just finding the right chunk of code on SO, CP, or YT and chucking it at any old compiler you can find. The errors aren't your fault!
Yes, yes, that is all there is too it. You've got it now.
And, yes, I know you are joking / being sarcastic.
|
|
|
|
|
He was joking?!!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Nope ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Copyright violation!! The FDA has been notified.
Social Media - A platform that makes it easier for the crazies to find each other.
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
ZurdoDev wrote: Copyright violation!! The FDA has been notified.
The Food and Drugs Administration doesn't care much about copyright. Maybe patent violations, when it comes to drugs (Big Pharma is throwing plenty of money at them), but those have nothing to do with copyright violations.
|
|
|
|
|
dandy72 wrote: The Food and Drugs Administration doesn't care much about copyright. Explain that to them when they show up at your house to confiscate your ramen noodles.
Social Media - A platform that makes it easier for the crazies to find each other.
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
I'll be waiting for them. Especially since I'm out of their jurisdiction.
|
|
|
|
|
Big Pharma may through money at them to get drugs OK'd but it's purely the legal system as to how patents are handled. It's not so much they don't care as they have no jurisdiction, let alone interest, in the patentability of a drug.
In theory, a federal employee would be fired for taking any gift (even a lunch) from a vendor or anything that could even appear like a conflict of interests. These laws, however, were written to exclude the law-makers, themselves, from the limitations.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Copyright laws allow quoting, as long as it is within reasonable limits. Here, it most certainly is.
|
|
|
|
|
Basically, writing code is like writing in a language that you where not taught as a child. But, for those of us that have embraced various programming languages to express our thoughts, which are actually fewer than I would expect. Writing code is only complicated to those that do not understand. To a real programmer (developer/engineer and some times architect) it is like writing a book. If you understand the problem, then just start typing and see what comes out, 90% of the time it will be correct.
If you don't understand the problem, then start typing. The reason I say this is that it will bring out the flaws in yore thinking and make if easier to find the solution.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence." - Edsger Dijkstra
"I have never been lost, but I will admit to being confused for several weeks. " - Daniel Boone
|
|
|
|
|
Fast iterations to begin to see the logic play out and then loop back to alter your logic.
1. do a thing
2. check it against criteria
3. alter to fix things that aren't quite right
4. go back to 1
Also known as the OODA loop[^]:
It works!
|
|
|
|
|
So, common since. Got it.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence." - Edsger Dijkstra
"I have never been lost, but I will admit to being confused for several weeks. " - Daniel Boone
|
|
|
|
|
tldr; your message, and from skimming the content for sure the book.
skimming it "just coz it compiles it's not good code" yeah, but that takes him how many words?
Oh wait, that was not only the the first excerpt, two more excerpts that say... exactly the same thing using different words. Way to turn one single sentence into a whole book!
lets substitute "programs, programming" etc for cars, mechanic-ing (and of course the tools named etc), "The Secret Life of Vehicles: Understand Cars - Craft Better Transporters" - just as appropriate, let's fill the book up with how people have done it wrong -
... "just because it looks and moves like a car doesn't mean it's wise to use it on the road."
Now let's change it from cars to
- trading shares. Just Because you made a few pennies doesn't mean you should quit your job yet.
- Heart surgery: Just Because the patient woke doesn't mean it's going to last.
- Raising Children: Just Because they didn't starve doesn't mean they're good.
....
self righteous - make yourself look smart by pointing at other peoples failures.
thanks for the heads up, I know for sure it's not for my reading list.
(yeah I know some people like reading theory stuff,
some of us though have better things to do chores the missus told us to do.)
pestilence [ pes-tl-uh ns ] noun
1. a deadly or virulent epidemic disease. especially bubonic plague.
2. something that is considered harmful, destructive, or evil.
Synonyms: pest, plague, people
|
|
|
|
|
And, here I just thought it was about craft that exists inside of work that so many often ignore.
|
|
|
|
|
yeah, I'm just not a book person
- at least not for books that tell me what I [think I ] already know.
but others do enjoy it, each to their own.
or maybe just wanted to get a daily rant out, no excuse really but semi-crap day today .... peace bro!
pestilence [ pes-tl-uh ns ] noun
1. a deadly or virulent epidemic disease. especially bubonic plague.
2. something that is considered harmful, destructive, or evil.
Synonyms: pest, plague, people
|
|
|
|
|
I may pick up that book, and I might find a lot that I agree with. I am of that generation.
In a chat yesterday with a co-worker, I repeated one of my mantras that certainly is related to this thread: You should always strive to fully understand what is going on at least one layer below the one you interface to. He nodded: A far too high fraction of younger, newly educated guys are satisfied something that works, automagically, without the faintest clue of how it is done, not even immediately below the API surface.
But then...
In my days as a student, we learned about e.g. disk scheduling algorithms - FCFS, SSTF, elevator... - but in my first summer job as an intern, forty years ago, I learned that a computer system who had more than one pending disk transfer more than 5% of the time was severy overloaded. All this fancy disk queue sorting algorithms was 95+% of the time "sorting" an empty or 1-element list. We also learned about how to compose a good job mix - putting I/O intensive jobs together with CPU intensive ones to obtain as close to 100% utilization of each class of resources (in the Job Control Language you could give indicators of expected load on various resources). Time sharing, interactive terminals and such was a new thing, not yet mainstream.
Some knowledge gets outdated. Noone need to know disk scheduling, sectors, tracks and platters on a flash disk. Job scheduling is specialist knowledge for those who manage supercomputers. Knowing how to knit together a block of core can be fun at the computer museum, but it should not be treated as essential knowledge.
Some of what we learn in school is of the kind "know what is going on at least one layer down". We learn how 4-stroke and 2-stroke combustion engine work. More than half of the new cars sold in Norway this year will be electric ones. In my days, we learned the chemistry of silver photography. Today, the ordering time for darkroom materials (chemicals, paper) is weeks or months, you no longer have any use for that knowledge.
But you did. Not because you became a car mechanic or photo lab worker (you didn't), but to know how things work. Kids learned to play a keyboard with MIDI interface to become great musicians, but to get a ceratain feeling for how it is to perform music. They did learn to create music, at a certain level. I think that is valuable knowledge, even when it is only useful in family parties.
What attracted me to programming was way you (must) approach a problem: You just have to do it in a systematic and orderly way ... at a certain level. You must do things in the proper order. You must split the task into subtasks that can be solved one by one. I do not think of my first computer experiences as "programming", but as "orderly problem solving". Actually, for a few years I was evangelising programming for everybody not as a way to control a computer, but as a way to learn general problem solving methodologies, applicable in almost any problem area.
When I was teaching elementary programming (at college level), the "problem kids" were the self-taugt C gurus who "knew how to program". The easiest ones were those who had been playing with similar tools/toys, like visual languages. Today, programming an Arduino to make some LEDs flash would be fine - so different from large-scale programming that they don't think they are gurus. Yet, they have learned how to approach a problem in a somewhat systematic way.
I wouldn't turn down Blockly any more than I would turn down the piano playing of my neighbour's nine year old. They both represent the idea of knowing how things work, even if you are not the one who will be doing the real work.
|
|
|
|
|
Very good points and a very interesting post.
Of course the short excerpts don't quite communicate everything the author is talking about.
I think the point is that :
In every realm where you learn there is often much more going on below the surface than you might think. Learn those foundational things and how to think about those things and you'll be stronger at whatever you do.
And for sure the "shortcut" types of things that help someone get introduced to a subject can be very good -- and the real problem may simply be that no one was there who told the person that "learning these things this way is just to stimulate interest, but don't believe you are going to play the Recorder[^] professionally, because there's not a lot of professional Recorder Concerts going on out there."
Of course, someone will post a youtube of the most famous Recorder Player who can play everything from Bach to Bon Jovi and that'll prove that Recorder concerts are going on everywhere.
I think the computer is a place where a lot of sub-activities are going on and you can be totally unaware and then learning those things can really help you understand things better. But, of course, this takes time and you can't just learn all of the subactivities and if you wait until you understand all of that the student will probably run away.
Good talk.
|
|
|
|
|