That's true when programming for a job or otherwise trying to get serious work done.
But programming can (and also should) be play. For me it's explorative and playful, I'm just trying to make a fun thing happen or see what things I can connect together in what interesting ways. I imagine it's the same for kids taking their first steps by making lights flash with a RPi and Python and then wondering what they can do next (led by imagination).
The latter is very much like being in a kitchen and throwing ingredients together, trying things out to see what tastes good.
I think limiting ones thinking of programming to the former sort devalues it.
I agree. While learning it is (or should be) playing with the code and having the most fun, somwhere along the career path you find yourself being an engineer first and everything else second.
I think the point is not to get paralysed by the desire to know everything at once.
Each question tends to just give rise to ten more. Which is fine for someone who has a conceptual understanding of programming-in-general (whether from studying it academically or just being more experienced/talented), enabling them to contextualise all that information. But for the beginner who is trying to self-tech (self-learn?), even if they understand the words, they don't really mean anything.
>Django is a application framework, written in Python, which follows the model–view–controller (MVC) architectural pattern
I may know what all those words mean and thus understand that sentence. I may know what MVC is (in that, again, I understand the words used to describe it). But until I've done a bit of Python and implemented something following the MVC pattern (and compared it to the alternatives) I don't really get it. The knowledge has to become practical to be useful.
It's better to only ask questions that go one level deep at a time, practise what you learned until you actually understand it, then ask the next level of questions.
For self-taught coders who are never going to be amazing at it but just want to make stuff (like me), I think this is very good advice.
To elaborate, the goal should be to move forward by cycling between asking questions and doing something:
Ask question <-------> Do something (ie bang out code)
The "do something" will never be perfect, so don't waste hours trying to understand the theory perfectly. Use the coding time as a way to both test your knowledge and drive further questions.
This is why it's helpful to pick a motivating project while learning to code. It keeps you moving ahead and makes sure the "question time" is truly filling in the knowledge gaps you need to fill in.
>This is why it's helpful to pick a motivating project while learning to code.
Very much the case for me, yeah. I've tried learning from tutorials and books and I just get bored. But if I come up with an idea and try to make it, I love it, learning the bits I need as I need them.
Should note that I think that if one is capable of learning the academic way, that's probably a better approach. Understanding programming in the general and thus being able to apply it to the specific. You'll certainly make better code that way.
But for me, for whom learning that way is never going to work, the ad-hoc way is fine. It doesn't really matter if my code is scrappy so long as it works and doesn't do harm.
"Arjun Varma is the Senior Correspondent, Entertainment at International Business Times. He comes from a diverse media background having worked across film, TV, print and digital."
People don't use 'Linux', they use a particular Linux Distro which does tend to provide the standardisation described (more so for some, less for others).
The fact that Linux-in-general is a roiling maelstrom is irrelevant to a user using a particular distro. It is relevant to developers and/or packagers though.
"I can imagine that opinion between pro/against varies depending on nationality"
While I agree that that is true, as a non-US-citizen I also find that slightly offensive (not your saying it, but the fact that it's true). It's unambiguously wrong to invade your citizens' privacy, but it's ok if it's one of us?
And furthering ancarda's point, maybe it's a more interesting questions when it's more abstract:
Would it be ok for an intelligence agency to monitor all communication for criminal activity, so long as they only act on the information they gather when criminal activity is indeed taking place (and let's assume they always act, there's no discrimination. And they do not use the information for any other purpose).
If an intelligence agency has the technical capacity to monitor all communications then there'd have to be a pretty compelling reason (assuming their raison d'etre is the prevention and detection of crime) not to. They'd just be doing their job to the best of their ability, it'd be negligent not to.
While I would of course not be comfortable with that, I've never actually heard a convincing philosophical argument for personal privacy.
You exist in the market as it is, not as you wish it to be. If you can't find a way to make it pay (if that is your priority/a requirement) then you'll fail and someone else will try. If no one can think of a way to make it pay, then we'll lose such sites until someone can.
If you remove the incentive to freely distribute content, eventually people will stop doing it. When this happens, most of the content you enjoy will end up behind a paywall. The reason you don't see it now is only a small portion of the internet is aware of and uses these products. Most of us can't work for free, and I imagine a substantial portion of this reader base's income is directly or indirectly supported by advertising.
And we'll go back to having a greater proportion of hobbyist sites. People doing it for the love of it rather than the money. That's fine.
I think advertising is a terribly crude way to make money from a website, as well as being cultural and aesthetic pollution. I think we'll look back on this period when websites were ad-funded with embarrassment.
Of course, I can't think of a better idea.
But if the use of ad-blockers increases then many many sites will go pop (the really good ones - the ones that people are actually actively willing to pay for - will survive of course) until some clever sausage eventually thinks of a better idea. And that will be great. Good old free market at work.
... most of the content you enjoy will end up behind a paywall.
This is often threatened, occasionally attempted, and rarely continued after the resulting precipitous traffic drop. "Content" is not rare. If a particular producer can't figure out a remuneration technique that doesn't annoy consumers, she'll find her lunch eaten by competing producers who can.
But programming can (and also should) be play. For me it's explorative and playful, I'm just trying to make a fun thing happen or see what things I can connect together in what interesting ways. I imagine it's the same for kids taking their first steps by making lights flash with a RPi and Python and then wondering what they can do next (led by imagination).
The latter is very much like being in a kitchen and throwing ingredients together, trying things out to see what tastes good.
I think limiting ones thinking of programming to the former sort devalues it.