If programming is tedious you are most certainly doing it wrong. It's problem solving and creativity at its finest.
But there is that initial boring hurdle to get past. A huge amount of uninteresting things to learn before you can do anything remotely complex. And most likely months or years before you know enough so you can properly express your creativity with it.
In most people there is that lack of initial motivation to do it, and when they start learning they give up because they don't see interesting results for a very long time. That is why I agree we should teach it to kids early.
Even if those kids don't grow up to be programmers, it promotes logical thinking, much more so than most other subjects I would say. And I like to attribute most of my success to being logical and rational, so this plays a big part in my life, which is why I value it so.
Another big reason why I like programming in general, is that I always have something to do. In the last 7-8 years, in my free time, I don't think I have ever felt bored for more than 10 minutes, or felt like I have nothing to do.
The rush you feel when you solve that mind bending problem is addicting, and the constant need to learn more and become better and better constantly drives me forward.
I might be special in this regard, but I doubt that is the case. People like solving problems that test their skills, and those that don't will most certainly like the creative freedom to create whatever they want, as long as its behind a display screen. I believe anyone who gives it a proper chance will feel the same.
So my suggestion to you is, pick a field you like (game development is a good, and especially entertaining one ), get yourself a copy of a programming book, and spend half an hour a day reading it. You will probably need to read it two or three times, most likely read other books too, before you can really delve into it, but if your experience is anything like mine, it is something that will keep your entertained and fulfilled for a very long time (if not for the rest of your life).
Remember, the real fun begins when you start working on your own idea, and not implementing some examples from a book.
Also remember most people will give up learning programming after a few months. Be special and instead force through that initial boring year.
^Being a programmer, I think a lot of programmers live in an echo chamber and assume everyone is like them. Most people who just don't "get" programming and never will. I have a brother who is pretty smart. He programmed together with me for 3 years. We worked on very interesting projects, made a lot of money, and were constantly together to motivate each other. However, he still hates programming. It's extremely boring, frustrating, and makes him want to cry sometimes. Keep in mind this is someone who is a proficient programmer, who has me around to help him, and who has worked on his own projects on his own for years at a time. Now he has given up programming, even casually, and outsources everything to either me or someone he trusts.
Most people simply aren't wired to be programmers. Initiatives like the one in the video are nice, but they will only resonate with a small minority of people.
I spent hundreds of hours on 6510 assembler, thousands on Amiga 68k assembler.. had the most fun in my life and I could get an idea and try it out and get a certain effect working in a day or two.. with 25-30 backups..
Other times I see something someone discovered and couldn't figure out how the hell they did it (like "breaking" what seemed like hardware limitations, then one day in the bathtub at 16 getting a Eureka moment and spend a week on making a demo with my own demo with my own version of the effect after I subconsciously solved the problem).
Programming and dealing with solutions in high level languages is a faaaaar way from controlling the hardware directly and tweaking to find interesting effects.. And can be very tedious before you get a workable prototype of whatever it is you're doing. I think that's why I stopped VS C#/ASP/SQL development. It was work, it wasn't experimentation, it wasn't fun. No true satisfaction making an application that worked fine since it was just a tool. Much more fun when I made 8 z-sorted vertical sprite scrolls (each vertical scroll a shade lower than the one above) wave over the screen in a sine wave pattern over a screen with a vertical blitter scroll, a big bob flying left and right beyond the borders of the screen (extended playfield), using a Protracker module I made myself etc... Such satisfaction and pride although I was never close to Fairlight or the other big top groups.
I'm more impressed by people from groups like Farbrausch and so on that make some amazing stuff in an extremely small space (64kb demos looking and sounding better than most 200mb+ demos), using their own advanced fractal texture generating algorithms, awesome self-made synth drivers etc...
Being a System Engineer, designing, building and testing a functioning system for a client and finish a contract is just work and any satisfaction coming from that is that it's done and you can put it out of your mind after months of tedious preparations, flow charts and stuff...
I do believe anyone who has an interest in it can, and will love it. I'm assuming your brother has other interests, and programming is something he was forced into, or he just did it for the money. I don't think it has much to do with "wiring".
On the other hand, if you aren't taught logical thinking from an early age it will be hard to "rewire" you mind to think in such a way. You might still have an interest in programming, but you just won't be as good at it.
My two main points were:
1. Teach kids because it promotes logical thinking, not to train them to be coders
2. If you need another hobby, break through that initial barrier and I believe you will develop an interest in it. Nothing to do? Worth a try, and it counts as doing something useful with your life.
Just theories though
Also, you need to work on your own ideas and something you like, otherwise it will be tedious, like Frant describes. I know the feeling very well. I also got into a few projects for money alone, hated it, and eventually gave up.
If programming is tedious you are most certainly doing it wrong. It's problem solving and creativity at its finest.
For some people, yeah.
For me, I prefer the "problem solving" of everyday life, argumentation and general fields of academics (deconstructing theorems) and the creativity of culture (painting, 3d-modeling, music, photography, writing).
Writing code lacks the visual elements for me to appreciate it at all. It is structured and boring to me. I had to learn COMAL and BASIC and then Visual Basic, and then some Pascal and C++ - I found them all very tedious and extremely unrewarding. "Oh, 2500 lines and I have a little cube spinning according to a mathematical formula (mathematics also being one of the fields I found tedious and boring)).
Agreed .. programming is essentially problem solving.
Spoiler:
http://www.youtube.com/watch?v=zDZFcDGpL4U
Thanks for the link. We are in the middle of a reform of our education system here in Luxbg, and inbetween the debate between reactionary (most of the teachers) and economists (government), the voices of those who actually think about doing a real reformation of the system for the future of our kids in this 21st century are completely suppressed.
The government masks its lust for saving money, supporting the neoliberal heading of the OECD, and tightening their administrative grasp on schools in a supposedly modern new school system, that does nothing more than diminish standards to make them all pass their exams and become mediocre but docile members of our consumist society. Smart enough to work at a bank.
Many teachers on the other hand think: We did the same for 70 years, why should we change now? These dinosaurs do not understand that the world outside school has changed enormously and that school needs to adapt to prepare the kids to face this world.
I am desperate about my country, really. Stupid idiots everywhere.
/rant
(I know noone here will be interested in this, but I had to write it off my psychè)
"Enlightenment is man's emergence from his self-imposed nonage. Nonage is the inability to use one's own understanding without another's guidance. This nonage is self-imposed if its cause lies not in lack of understanding but in indecision and lack of courage to use one's own mind without another's guidance. Dare to know! (Sapere aude.) "Have the courage to use your own understanding," is therefore the motto of the enlightenment."
I tried basic out when I was a kid .. had a class with turing in first year uni (intro type stuff for health sciences students.. I think I did a Yahtzee type game for my final project ).
I use SAS now pretty much most days in my job (a means to an end, content is my focus), and working on learning R and Stata .. but really I don't think these are considered that technical...
Well it all depends on what type of a person you are. I could easily say (from my 5 years experience) that learning how to think as a physicist is something all ppl should do.
I may not have super Feynman like skills when it comes to physics (and probably never will), but the critical thinking I got from it has changed me as a person. I can make some assumptions, and some connections about some things that most ppl wouldn't even think about. But as a physicist you are thought to seek out every road, and try to asses what will be the correct way for solving some kind of a problem you are presented with.
But not all are meant to be physicists. Like that, not all of us are meant to be programmers. I had fun with Python for instance, and I find C++ easier to comprehend (what little I've learnt) than other programming languages (and I've learned Fortran and C in Uni). But still when it comes to physics, where modern physics is done on computer like 95% from numerical calculations to manipulations in the lab, I've always been the type of person who likes to solve things 'on paper'. I like when I write some formula, solve some integral or sth like that and then get some kind of insight out of it.
I was never good with programming, even tho my dad's a programmer, and my sister studied computer science, and is now a coder (web, but she also knows how to program).
It all depends on what type of a person you are.
That all being said, I agree that we need programming as an obligatory class in middle school and high schools. You can't do anything without computers these days. And even tho you might not know how to program, it will give you a valuable computer time, that you could use later in life.
That is something I'd do. Kick the religion out of our schools, and put IT in it
"Quantum mechanics is actually, contrary to it's reputation, unbeliveably simple, once you take the physics out."
Scott Aaronson
chiv wrote:
thats true you know. newton didnt discover gravity. the apple told him about it, and then he killed it. the core was never found.
I do understand a lot of people do not like it. I like it a lot, but I could never do it full time. I have to script @ work a lot and have written numerous OO modules for perl (being an OO Perl boy, try that!), PHP, matlab, R, and some other fancy stuff nobody uses.
Why? because i needed a solution for a problem of inconvenience i was experiencing or i needed to automate shitloads of analyses. Could i do it 100% of my time, software engineering? hell no, I would miss the interaction with people, i would get too frustrated etc.
Why do people not like it? First of all, you guys, who like programming have a brain that's wired on the 'analytical side' probably also the 'theoretical side' and 'quantitative side'. Many people are compleeeeeeeeeeetely different. They like to paint, like to read books, like to discuss esoteric shizzle and most probably don't even know what a variable, a linear equation or a matrix is. Heck, I've known 20 yo olds that don't know how to calculate growth rates or percentages... Clearly those people are not fit for programming, have no interest and will never ever learn it.
That being said, I do think it is valuable to give programming classes in high school. I have very broad interests, but I still thought French, Dutch, German, Religious studies, art and culture were shit boring in high school, but there will always be something boring. So it being 'boring' cannot be an excuse to no learn people how to code.
I think it's valuable to teach it because people that will like it, will most probably do it as a profession. We need more coders, less bankers, lawyers and other 'money making' jobs. Anyone who likes it and thinks about doing it as a profession is another soul won for the good cause!
The only difficulty that I can see, as I teach an introductory programming class here in uni, is that it's a binary class. Either people get it and think all exercises are fairly easy. Other people don't 'get it' and think every exercise is too hard. But then again, a good teacher can make the difference.
That's also a good incentive to get ppl to like programming To see that they too could work in such a place if they excel at what they do.
But on another note. These places are like that, not only to encourage the ppl who work there to do their best, but to encourage them to stay longer at work. That brings the risk of being a social periah, focused only on work, and having no 'life' outside of it...
Then again, if you are weird introvert that shouldn't bother you (you in a general sense, not in particular )
"Quantum mechanics is actually, contrary to it's reputation, unbeliveably simple, once you take the physics out."
Scott Aaronson
chiv wrote:
thats true you know. newton didnt discover gravity. the apple told him about it, and then he killed it. the core was never found.
That's also a good incentive to get ppl to like programming To see that they too could work in such a place if they excel at what they do.
But on another note. These places are like that, not only to encourage the ppl who work there to do their best, but to encourage them to stay longer at work. That brings the risk of being a social periah, focused only on work, and having no 'life' outside of it...
Then again, if you are weird introvert that shouldn't bother you (you in a general sense, not in particular )
Its probably more along the lines of them pushing their employees so hard that they need to make a shitload of fringe benifits for them to not quit their job. Thats of course a more pessimistic version of it
this stuff should not be taught in schools as a standard.
if you want to learn it then it's for advanced learning or reform schools so it's a choice system with everyone having to sit standards like maths/english but then a choice system for some other subjects which could be programming or mechanics even the useless french if you want to learn that.
school needs to reflect real work place skills theres no point everyone learning things that are useless in working life or flooding the market because everyone is trained in that subject.
this stuff should not be taught in schools as a standard.
if you want to learn it then it's for advanced learning or reform schools so it's a choice system with everyone having to sit standards like maths/english but then a choice system for some other subjects which could be programming or mechanics even the useless french if you want to learn that.
school needs to reflect real work place skills theres no point everyone learning things that are useless in working life or flooding the market because everyone is trained in that subject.
Yes it should. As I said before, not to train kids to become coders but we need more subjects that promote better ways of thinking and using your brain, especially at an early age.
Math and physics are good examples that do that already, even though most people will never need anything other than basic algebra at their jobs.
Those two were the only two subjects that provided pretty much any kind of problem solving during my grade and high school. But both math and physics are complex fields and the way they are taught (at least in my school) just involved learning how to solve different equation after equation, with not really going into the nitty gritty details of why and how things are how they are. So even those two subjects had very limited potential.
Most other subjects just involved cramming as much (useless) data into your head as possible. Subjects like history, geography, biology, chemistry are all useful to have as general knowledge, but I will never need to use 90% of the things I learned there. Those could be easily cut down to more basic forms, leaving the advanced stuff for those who really need it.
On the other hand, almost everyone will benefit from better problem solving and logic skills. In their work and in life in general.
Signature/Avatar nuking: none (can be changed in your profile)
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum