|
Languages are only for second year students...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
C - it puts you in charge.
Understanding indirection is so basic to C and programming. It's not hidden away.
And data allocation sizes really meaning something.
Some may criticize, but allocating and deallocatting memory as your own personal responsibility is a lesson not only in programming, but in life.
How Sweet It Is!
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Only after having extensively sweared against the screen (and then against the mirror once you got hold of the problem) you can begin to appreciate *some* automatic mechanism for the trivial tasks. Never abuse them though or doom is assured.
Geek code v 3.12 {
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- r++>+++ y+++*
Weapons extension: ma- k++ F+2 X
}
|
|
|
|
|
My first comment is not meant as an insult or anything like that - it's just I am sensitive to rhetoric (actually appreciate a good job): your statements about "you've seen . . . ", "some people . . . ", etc. are all true. They also really don't mean much in that that particular phraseology is applicable to almost anything and find exceptions to subjective rules is essentially always successful. Damn - my director can make VB6 work very much as though it were really a programming language!
My start in programming was Fortran - and that's a fairly high level language. Pre-Fortran-77, too. Learning C - via Microsoft QuickC - was an eye-opening experience. Admittedly VAX Macro-Assembler came in between them. Pick either one: they profoundly changed the way I coded.
At first, with C, it was really Fortran coding using C's language components. Then, one day (literally), it changed. It doesn't matter what I've had to go to (or back to) since then. The change was permanent - an appreciation of what I was really doing. Appreciation meant attention, as appropriate, to run more efficiently, ward off future problems, or plan ahead by avoiding coding into corners.
Arguably, the hated feature of those new to C (from those higher level languages) is understanding indirection, embracing it, and then exploiting it. Many modern languages don't allow the unbridled freedom (and responsibility!). When 640K was the memory limit, it was wonderful to be able to set a pointer to unused video RAM and gain back precious storage. Not to necessary these days, but the lessons are still there. It's certainly memorabilia to some of us. For some of us, we've had the pleasure of doing; but for the remainder there still is available the pleasure of knowing.
Like Yoda taught young Skywalker: Embrace the Force.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Then they can use it right away and perhaps get some small jobs faster.
|
|
|
|
|
Seems like an excellent reason NOT to pick Javascript.
Soren Madsen
"When you don't know what you're doing it's best to do it quickly" - Jase #DuckDynasty
|
|
|
|
|
This is a hard question to answer without knowing the age/maturity of the person you are talking about. For kids who are younger and just starting out I might recommend something like Scratch or Python.
As they progress further and maybe are playing games Minecraft then the next progression is Java.
For those that are interested more in web development then I would have them start with Javascript.
I think the better advice though is that once that first language is taught/learned that you explain to younger developers that the learning process never stops and that they should look to expand their knowledge and skills.
|
|
|
|
|
I learned programming in VB.NET, a language that's pretty horrible according to many people (at least on CP).
Yet I turned out fine.
I'm now doing C#, which I'm doing fine too.
Recently did some JavaScript and guess what? I did quite alright!
Just know your loops, arrays, scope, variables, access modifiers, basic memory management, data structures, OOP concepts, some Functional concepts...
You'll be alright in most languages.
The difficulty lies in the frameworks and the subtle differences between languages (like optional vs. mandatory break; in switch statements in JavaScript and C#).
And the only way to get better at those is by learning more languages.
Still, as far as a first one goes I'd say C#.
It's nice, clean, rich, has C syntax (which makes a transition to many other languages easier)...
|
|
|
|
|
Sander Rossel wrote: Still, as far as a first one goes I'd say C#.
It's nice, clean, rich, has C syntax (which makes a transition to many other languages easier)...
I actually think having so many new languages adopt a C-style syntax is a poor decision but understandable. It's also potentially very dangerous as, e.g., C# and C++ are very different but no doubt devs going from C# to C++ must make a ton of mistakes. (Not done that myself as I went the other way.)
Kevin
|
|
|
|
|
Make them suffer like we did in the 70's ...
|
|
|
|
|
You made me interested in the subject and check more on the web - for a naturally curios as I am this is already great. But you also, indirectly, inspired me for my next D&D campaign - and this is absolutely fantastic!
Geek code v 3.12 {
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- r++>+++ y+++*
Weapons extension: ma- k++ F+2 X
}
|
|
|
|
|
OK, I also remember the happy days of FORTRAN on punch cards - the upgrade from FORTRAN IV to Fortran-77 was wonderful.
However, although I used to be a D&D DM and player myself - I can't see the connection apart from I once wrote a NPC character generator in FORTRAN.
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
10 A good Fortran programmer can write Fortran in any language.
20 Continue
PS - There was an upgrade after Watfor and Watfiv? What is this Fortran 77 of which you speak? In 77, I was programming on DEC systems in Macro 10.
|
|
|
|
|
Quote: What is this Fortran 77 of which you speak? Sorry, I misspelled it. It should, of course, be "FORTRAN 77". FORTRAN didn't become Fortran until Fortran 90.
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Always happy to be a source of inspiration.
But please be more specific about the plans for your campaign ... how will punch cards figure into D&D?
Your comments brought back memories of playing D&D in the 70's (this was pre-version 1 of AD&D). Those were fun days.
|
|
|
|
|
I put a single reply - writing form cellphone is awful! I just figured out that punch cards are OLD technology, and since I'm planning a "magepunk" world technologically a bit more advanced than the usual D&D stuff I thought that introducing punched cards and analyzing machines can provide some adventuring hooks (finding sabotages, retrieving stolen data in a specific time frame, forging fake data, and even some futuristic set up as agencies of Paladins tracking and creating dossiers by technomagical means...).
That is something I never though of because adding electronics or gunpowder in a fantasy world tends to make it way too similar to the real world and bends the adventure - I still want a classical fantasy setting!
Geek code v 3.12 {
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- r++>+++ y+++*
Weapons extension: ma- k++ F+2 X
}
|
|
|
|
|
In The Wizard's Bane and the Wizardry Compiled and other books in the series by Rick Cook, a key theme is that Magic is a form of programming, and the hero of the books learns to use magic much like a programmer uses code. You could use these books to suggest a 'magepunk' framework for you D&D game.
The early bird gets the worm, but the second mouse gets the cheese.
|
|
|
|
|
Thank you very much, I'll definetely delve into that book!
Geek code v 3.12 {
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- r++>+++ y+++*
Weapons extension: ma- k++ F+2 X
}
|
|
|
|
|
1234567
Feed.
Register.
Release.
Feed.
Register.
Release.
Feed.
Register.
Release.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Nah; make them start by hard-wiring the "program" on a breadboard!
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
I would recommend learning assembly. But it is hard for a beginner to learn. To develop a program it is not necessary to understand how computer works as long as you can use the APIs properly that your favorite framework provides. But it is always good and a plus to know exactly how computer works. If you learn C you can quickly move down to assembly to understand what actually happens when your program is executed. Or you can move up to any high level language like C++, C# or Java. I will not recommend learning OOP for beginners, because OOP is programming methodology that you may or may not use. Learning logic is important for beginners and implementing them in terms of computer instruction is what makes them programmer.
|
|
|
|
|
It depends on why they want to program.
Steve
|
|
|
|
|
Come on folks, these are two completely different things. You can't just lump them together like you can VB / mental retardation.
Marc
|
|
|
|
|
The same could be set VB/VB.NET.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
You've been here long enough to realise that programming languages fall into two distict categories:
- Understood, therefore liked
- Not Understood, therefore disliked
How do you know so much about swallows? Well, you have to know these things when you're a king, you know.
modified 31-Aug-21 21:01pm.
|
|
|
|