"built-in loop" question

Started by
43 comments, last by Ronnie Mado Solbakken 10 years, 6 months ago

So yes, I agree that I shouldn't be making videos until I know what I'm talking about. Which I'm not planning on doing, either.


Good but the key words in my reply were 'authority source' which means that realistically I would say you are still a good couple of YEARS away from being in any position to teach others with any real authority on matters.
Advertisement

The program sends "Hello World" to the console, then exits. The console window (separate program) still keeps displaying what was sent to it.

Good but the key words in my reply were 'authority source' which means that realistically I would say you are still a good couple of YEARS away from being in any position to teach others with any real authority on matters.

A valid opinion, but I honestly don't think people care, as long as the data is accurate and I have the ability to make myself understood. Science is not about trusting authority, it's about getting the facts straight. If anything, questioning authority is more akin to science. By your logic, Bucky Roberts @ thenewboston should've never started teaching his now 565 465 Youtube subscribers, because he wasn't much of an authority when he started out. He even dropped out of college. And Mark Zuckerberg invented Facebook, so authority hardly factors into it.

Granted, I agree that it helps to have a solid background, for credibility's sake and also if you want to be a general, cross-discipline teacher. A lot of people, if they see two possible sources, will obviously adhere better to the source with the greater authority. That's just human nature. We don't always have the time or resources to learn who or what is truly the more credibly source, so we take a calculated "risk" by trusting a known authority.

In either case, I may just follow your advice just a little bit.

Edit: I guess I should also point out that I'm talking about a very basic tutorial that just helps people start making something on their own, without getting that writer's block. Nothing complex, albeit abstract and conceptual.

The program sends "Hello World" to the console, then exits. The console window (separate program) still keeps displaying what was sent to it.

I guess I understood Simon correctly then, thanks for the confirmation.

- Awl you're base are belong me! -

- I don't know, I'm just a noob -

Honestly, based on these questions and your 'understanding' shown in your replies, I don't think you should be trying to teach anyone anything - you clearly don't have the knowledge down at this point to be an authority source on the matter and any attempts to 'teach' others is going to do them more harm than good in the long run.

And you don't think that I will eventually acquire the knowledge, once I'm done with the research?

The bottom line is that there's an inconsistency in what I'm actually experiencing when I program, with the logic that has been explained to me in this thread. At least up until the point where SimonForsman elaborated on it.

Here's an example code:


class test {
    public static void main (String[] args) {
        System.out.println ("Hello world");
    }
}

"Hello World" will show up in the console and it will keep showing up. No, it will obviously not visually repeat the line, for that you obviously need to create a loop of some sort. There's only a single line popping up. But that one line keeps itself visible on-screen and in Eclipse, the program doesn't terminate unless you specifically click on the terminate button. I'm just asking what causes that to happen, when I know that a screen ultimately consists of x*y pixels that keep updating as long as the PC screen is turned on. And if the program terminates, then what keeps updating the pixels on the screen? It sure ain't a terminated program.

You can be a pretty solid amateur programmer and still wonder about these subtle things, especially if you've been learning stuff through the internet (because there's all kinds of programming lingo and methodology that you have to figure out on your own). They are easy to miss, because they don't have much to do with the actual coding at all (assuming that we're talking about Java, which is the language I'm learning). There's a reason why a good University is sometimes superior to the internet.

So yes, I agree that I shouldn't be making videos until I know what I'm talking about. Which I'm not planning on doing, either. I just want to make a couple of videos (eventually) that I've yet to find on Youtube, because everyone's focused on teaching syntax and specific algorithms for specific tasks (but not teach people how to invent their own). But if someone else can beat me to it, then by all means. A Professional programmer with solid tutoring skills is a much better conveyor of information, anyways.

The console is not a part of the java application, it is a part of the OS and may or may not close after the program has finished running(depending on how it was launched, you can launch a standalone console by typing in cmd.exe in the run dialog in windows.

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

Ok, I guess I got this part figured out. Thanks again, guys. smile.png

- Awl you're base are belong me! -

- I don't know, I'm just a noob -

I recommend getting a book instead of relying on internet tutorials. If you do then you'll realize why internet tutorials are woefully inadequate in learning your first language.

A valid opinion, but I honestly don't think people care, as long as the data is accurate and I have the ability to make myself understood.


And there is lies the problem; until you are a well practised and know the subject inside out you don't know if it is accurate. But the people 'learning' from you also don't know if you are right or not, they just assume you are, so if you don't know the subject well then you are going to teach bad things and, frankly, the internet has enough bad information on it as it is and doesn't need more 'noobs' (to use the word from your signature) putting out more information they don't fully understand.

By your logic, Bucky Roberts @ thenewboston should've never started teaching his now 565 465 Youtube subscribers, because he wasn't much of an authority when he started out. He even dropped out of college. And Mark Zuckerberg invented Facebook, so authority hardly factors into it.


I'd never heard of that site before, so I went to check it out and had a look at his second C++ video explaining hello world and, honestly, based on getting 6mins into that video there is probably good cause for him not to have been trying to teach C++.... by 8mins in it was no better... by 9mins, oh god... I mean... oh god... '[main] should always have return 0', 'if you added text here [to cause an error] then it will never make it to [the return statement] so it will never return 0'... I mean, seriously... ugh.

And we aren't talking a small nit picking mistake there either; he fundamentally gets the C++ compilation model utterly wrong.. and not for the first time either... hell, don't get me started on 'all programs must have a main function' and 'your computer automatically knows to start at main' which is just wrong. (Yes, you can avoid the complications of how the OS and runtime do it but not by making statements of absolute truths like that!)

So, yeah, he probably shouldn't be teaching people C++ at least - and just because he has a large number of subscribers doesn't mean he is right, it just means he has a large number of subscribers.

And college has nothing to do with it; I wrote a series of articles for this site back in 2005 or 2006 for OpenGL and the only reason I did it is because I had a very strong background in the subject. At that point I hadn't completed university and didn't have a degree. Same goes for the chapter I wrote on the GLSL many years back.

Zuckerberg has nothing to do with it either; he made a website, he wasn't trying to teach people how to make a Facebook like website.

A lot of people, if they see two possible sources, will obviously adhere better to the source with the greater authority. That's just human nature. We don't always have the time or resources to learn who or what is truly the more credibly source, so we take a calculated risk.


Unfortunately that isn't the case; people see two sources they will take the one which looks easiest or quickest to learn from and go with that.
Given the choice between a correct book and a video which claims to be correct most people will, these days, more than likely take the video.

Of course if the internet wasn't full of incorrect tutorials we wouldn't have this problem but apparently its full of people who think "I've been coding for 20mins I must teach others so I can learn too!" which is just... ugh...

And there is lies the problem; until you are a well practised and know the subject inside out you don't know if it is accurate. But the people 'learning' from you also don't know if you are right or not, they just assume you are, so if you don't know the subject well then you are going to teach bad things and, frankly, the internet has enough bad information on it as it is and doesn't need more 'noobs' (to use the word from your signature) putting out more information they don't fully understand.

Data is still data. If you actually know it, especially if it's been confirmed by a seasoned professional, then you know it. You don't need to be a seasoned professional yourself. What you're clearly talking about, has to do with larger (or entire) fields of science where expertise is synonymous to years worth of honing a multitude of different knowledges in order to grasp the full picture. And I can agree that some people indeed claim to know something that they don't.

But I'm talking about simple facts. No more and no less, so I'm just curious as to why you assume otherwise about me, since I haven't been saying anything about what I would specifically be talking about in my series. Learning programming is like learning anything else, you gradually learn more, the more you study. You don't study for X years and then suddenly you come to a point where all the information magically goes from 0-100% in a split second. Knowledge is modular and gradual.

In other words, basic scientific literacy. In this thread, I was asking about a very specific thing that's happening under the hood of the program and has nothing to do with the code you're actually writing (because it's happening at default, the program runs once unless you code it to do otherwise, as Simon and the others stated). So as a self-taught, then it's no wonder that I've missed it.

I'd never heard of that site before, so I went to check it out and had a look at his second C++ video explaining hello world and, honestly, based on getting 6mins into that video there is probably good cause for him not to have been trying to teach C++.... by 8mins in it was no better... by 9mins, oh god... I mean... oh god... '[main] should always have return 0', 'if you added text here [to cause an error] then it will never make it to [the return statement] so it will never return 0'... I mean, seriously... ugh.

Well, I'll admit that you've the advantage here of having watched that particular series. But in general, being a good teacher isn't just about telling people correct information. It's also about being sensitive to the student's mindset. The greatest teachers are able to engage their students and even create the illusion that the student have figured something out that the teachers did wrong. In actuality, the teacher did those mistakes on purpose. It's the same when your Drill Instructor screams in your face. Not because he's angry, frustrated or because he hates you, but rather the opposite. The clue is to motivate students and bolster their deeper learning of the subject in whatever way that is more relevant for the given subject. (Now, whether this is true for thenewboston, I can't really say, but it's possible (albeit hard to actually apply).)

Dr Robert Sapolsky, for instance, literally teaches his students outright false or outdated information before he makes a complete u-turn and throws it out the window. Almost like when a programmer does something silly in the first video and then refactors it in the next. This is possibly done in order for students to understand the sceptical nature of science, and it's also a solid history lesson that sticks with them.

As for Zuckerberg, I used him as an example to point out that authority can risk becoming a fixation with regards to how successful or accurate you are in your endeavours. Mark's not a teacher but, if he were, he would at least know what he's talking about. Even if he too ditched college. tongue.png

Unfortunately that isn't the case; people see two sources they will take the one which looks easiest or quickest to learn from and go with that.

Given the choice between a correct book and a video which claims to be correct most people will, these days, more than likely take the video.

Of course if the internet wasn't full of incorrect tutorials we wouldn't have this problem but apparently its full of people who think "I've been coding for 20mins I must teach others so I can learn too!" which is just... ugh...

How quickly you can learn something is one thing, the credibility of the informatin is another. Both factor in, and there's even more factors involved here, but I won't digress further. I agree on the "...20 mins I must teach others..." syndrome though, it's almost a little creepy to witness at times. That's the Dunning-Kruger effect for you, right there (and it doesn't only happen on youtube or even the internet in general). biggrin.png

- Awl you're base are belong me! -

- I don't know, I'm just a noob -


Data is still data. If you actually know it, especially if it's been confirmed by a seasoned professional, then you know it. You don't need to be a seasoned professional yourself. What you're clearly talking about, has to do with larger (or entire) fields of science where expertise is synonymous to years worth of honing a multitude of different knowledges in order to grasp the full picture. And I can agree that some people indeed claim to know something that they don't.

But I'm talking about simple facts. No more and no less, so I'm just curious as to why you assume otherwise about me, since I haven't been saying anything about what I would specifically be talking about in my series. Learning programming is like learning anything else, you gradually learn more, the more you study. You don't study for X years and then suddenly you come to a point where all the information magically goes from 0-100% in a split second. Knowledge is modular and gradual.

In other words, basic scientific literacy. In this thread, I was asking about a very specific thing that's happening under the hood of the program and has nothing to do with the code you're actually writing (because it's happening at default, the program runs once unless you code it to do otherwise, as Simon and the others stated). So as a self-taught, then it's no wonder that I've missed it.

The point is that you don't know how what the data means or how to apply it. Data on it's own is meaningless. Context matters.

The fact that you still think it's something " that's happening under the hood of the program and has nothing to do with the code you're actually writing" shows you are still barely understanding the concept you're asking about and are certainly in no position to teach it.


Dr Robert Sapolsky, for instance, literally teaches his students outright false or outdated information before he makes a complete u-turn and throws it out the window. Almost like when a programmer does something silly in the first video and then refactors it in the next.

When you're starting out in any field, simple guidelines are a great help. But there is a world of difference between deliberately teaching a simplified (possibly even inaccurate) version of a complex problem and actually believing it oneself. You can only lie to your students if you a) realise it's a lie, b) understand why you're lying and c) know the truth yourself.

This is possibly done in order for students to understand the sceptical nature of science, and it's also a solid history lesson that sticks with them.

I doubt it. "Don't trust your teacher" is not a useful lesson to impart to beginners. For an intermediate student looking to advance, possibly...

I'm not trying to discourage you from programming, and I equally am not trying to belittle your programming knowledge. Everyone was there once and we all had some stupid assumptions. I looked over some of my earlier posts here the other day and cringed. The point is simply that you are really not ready to give anyone any kind of tutorial.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

The point is that you don't know how what the data means or how to apply it. Data on it's own is meaningless. Context matters.

Whether I know what the data means or how to apply it, depends on what data we're talking about and under which circumstance it is used. So yes, context matters.

- Awl you're base are belong me! -

- I don't know, I'm just a noob -

This topic is closed to new replies.

Advertisement