Duck-typed script languages, or statically typed "compiled" languages?
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
If someone were learning to program I would recommend they start with Scratch - that way they get to understand the mechanics of programming (loops, variables, conditional branching) before they get bogged down in syntax.
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
I'd go with C. It helps a lot understanding the basic flow of instructions, it enforces the need to think to the solution before writing as many typed languages do. It's clean and logical and helps keeping the clutter to the bare minimum until it is understood what inclusion of headers do - and the meaning of definition, declaration and modularity. It allows to learn programming by steps, seeking new instruments when needed instead of providing with a messy garage of instruments with varying degrees of necessary skills to be used properly - the contrary of Java and VB6 (my first programming language excluding a brief and failed encounter with GW-BASIC) for example.
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--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver "When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey If a coffee bean is between the Earth and the Sun, is it a Java Eclipse? -- Sascha Lefèvre /xml>
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Marc Clifton wrote:
Which would you prefer to teach to someone new to programming?
To teach someone programming then a strongly-typed OO language. That will teach concepts that can be translated to any language, and even adapted or "down played" for languages like javascript etc where there is a knack to keeping in mind that something might not have a fixed type. I think it's easier to go from typed to non-typed than the other way. If you learned using javascript you're going to start something like c# and make everything "var" and wonder why nothing works (although people do that anyway), or try and implement a bad design you've learned from non-typed languages and end up with some horrible implementation to circumvent the languages strongly-typed nature. For example how many times have you seen questions in QA where people using c# ask things like "I'm creating a dynamic form and I might have as many as twenty textboxes and if I do I want my class to have properties Textbox1, Textbox2, then I want to loop around those properties like this
for (int i = 1; i < 21; i++)
{
string text = obj.Textbox + i;
}" They end up approaching problems from completely the wrong angle.
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
My kid has taken some classes in writing mods for Minecraft (Java). MIT uses Python for its non-programming students. One of the main reasons I bought a MicroVAX is because VAX BASIC still has interactive mode. :-D Just how I was introduced to programming in 1983. :jig: Personally, I would avoid scripting languages and OOP-only languages.
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
I would go with Compiled languages. Possibly with native ones like C/C++. The process of Compile / Build to obj. Make to EXE everything goes with an edible flow. You don't need to learn a new framework to understand these. And ultimately, to explain how these Exe's get executed on a CPU, you can explain it fairly straight, without the circus of JVMs/ Run times etc. Having said all these, The ducktypes? There's nothing much to explain, you could just say that the last part of the pervious model is getting done line by line. Basically an Interpreted ones vs Compiled ones. If you just want to learn Programming language, I would go with Scripts/Interpreters. The whole developement set up is not required. All you need is a browser and a notepad to start with. But if you want to teach the whole of it, then we should not for the duck-type ones as you call it. Compiled ones do best there.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
For a kid, the new Micro:bit initiative looks very interesting: BBC micro:bit : Create code[^] The MS block editor makes syntax errors a thing of the past, and lest them concentrate on the essentials of development without worrying about the specifics. When they have got them down well, they will (hopefully) want to move to a more complex language which lets them control the code better (and the structure of the block editor would make a transition to C# fairly painless). Block editor[^]
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
i'd go with the simplest dynamically-typed scripting language i could find. introducing the language plus a compiler & linker is just too much at once.
-
Do I have to pick one of those? I'd start with assembly. It's structurally simple and easy to learn incrementally. "Literally a list of instructions" is the simplest model to get used to.
harold aptroot wrote:
Do I have to pick one of those?
Nope. :)
harold aptroot wrote:
I'd start with assembly. It's structurally simple and easy to learn incrementally. "Literally a list of instructions" is the simplest model to get used to.
That's a really good point -- I've always thought that a person learning programming should begin with what the processor is doing. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
-
If someone were learning to program I would recommend they start with Scratch - that way they get to understand the mechanics of programming (loops, variables, conditional branching) before they get bogged down in syntax.
Duncan Edwards Jones wrote:
with Scratch
I actually wish programming was just like that! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
-
harold aptroot wrote:
Do I have to pick one of those?
Nope. :)
harold aptroot wrote:
I'd start with assembly. It's structurally simple and easy to learn incrementally. "Literally a list of instructions" is the simplest model to get used to.
That's a really good point -- I've always thought that a person learning programming should begin with what the processor is doing. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Marc Clifton wrote:
That's a really good point -- I've always thought that a person learning programming should begin with what the processor is doing.
Than one can also argue that before learning what the processor is doing, they should learn about how it works and digit circuit design (AND gates, OR gates, Multivibrators, FlipFlops, FIFO, LIFO, etc...).
if (Object.DividedByZero == true) { Universe.Implode(); } Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016
-
Marc Clifton wrote:
Which would you prefer to teach to someone new to programming?
To teach someone programming then a strongly-typed OO language. That will teach concepts that can be translated to any language, and even adapted or "down played" for languages like javascript etc where there is a knack to keeping in mind that something might not have a fixed type. I think it's easier to go from typed to non-typed than the other way. If you learned using javascript you're going to start something like c# and make everything "var" and wonder why nothing works (although people do that anyway), or try and implement a bad design you've learned from non-typed languages and end up with some horrible implementation to circumvent the languages strongly-typed nature. For example how many times have you seen questions in QA where people using c# ask things like "I'm creating a dynamic form and I might have as many as twenty textboxes and if I do I want my class to have properties Textbox1, Textbox2, then I want to loop around those properties like this
for (int i = 1; i < 21; i++)
{
string text = obj.Textbox + i;
}" They end up approaching problems from completely the wrong angle.
I agree. Strong typing, although initially confusing when first encountered makes for a clearer understanding of things in the long term. It's also easier to temporarily unlearn it for scripting languages, than to go the otherway around.
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
I would start with a high-level language, either dynamically or statically typed. From your list probably Python or C#. The idea is to get up and running fairly easily. Then, after a while, depending on interest and if you want to dig deeper, try something lower-level like C.
Kevin
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Programming is a lot like picking at a scab. You probably shouldn't but you inevitably do. Does anybody set out to pick at scabs? I suppose a startled would-be psychologist. Notices all the blood that pours out, realizes it's not as painful as he imagined such a flow to be, and then wonders why he would need to stop it now that it's continuing. Let me ask you a question. When you think of Python, do you shiver a little?
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Marc Clifton wrote:
Javascript
Did you say "duck-typed" or "duct-taped"?
I wanna be a eunuchs developer! Pass me a bread knife!
-
harold aptroot wrote:
Do I have to pick one of those?
Nope. :)
harold aptroot wrote:
I'd start with assembly. It's structurally simple and easy to learn incrementally. "Literally a list of instructions" is the simplest model to get used to.
That's a really good point -- I've always thought that a person learning programming should begin with what the processor is doing. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Marc Clifton wrote:
I've always thought that a person learning programming should begin with what the processor is doing.
I think that makes C a nice learning language. It is based on a fairly low-level processor abstraction. Of course, it is like teaching your child how to cut their food using a chainsaw...
Software Zen:
delete this;
-
Programming is a lot like picking at a scab. You probably shouldn't but you inevitably do. Does anybody set out to pick at scabs? I suppose a startled would-be psychologist. Notices all the blood that pours out, realizes it's not as painful as he imagined such a flow to be, and then wonders why he would need to stop it now that it's continuing. Let me ask you a question. When you think of Python, do you shiver a little?
RedDk wrote:
When you think of Python, do you shiver a little?
I've been doing some Python programming for a BeagleBone SBC. And yes, I shiver. Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
-
Duncan Edwards Jones wrote:
with Scratch
I actually wish programming was just like that! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Or we just had the IDE that Project Spark[^] uses!
-
Examples of duck-typed, script languages: Javascript X| (what, me biased?) Ruby Python Examples of statically typed compiled languages: C C++ C# Go This isn't a question of which you think is better (I know, the answer is "it depends") but feel free to answer that question, and why (particularly what it depends on). My question is, if you were asked "how should I start learning programming?" would you a recommend duck-typed script languages or statically typed compiled language? Does it depend on what age the person is (for example, your kid, vs. a coworker interested in programming)? Which would you prefer to teach to someone new to programming? Why am I asking this? Because several sources of Python that I've encountered consider it a good learning language, and I'm curious what the experts here think! Bonus (virtual) points for whether you'd pick an imperative programming language or a functional programming language! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
As someone who has actually taught people to code... First, everyone is different. Second, what is usually lacking is are students that understand how to solve a problem! The answer is always, it depends. I had some kids who developed Lego NXT apps as their first programming with a GUI. I had college kids learning Java. (They just wanted to pass the class, mostly). What is important, to me. Is an expressive set of problems the student is interested in solving. Teaching them to read/interpret code first, then to write code. I found that giving students a working solution, and having them make small changes was the fastest way to wet their whistles. The naturals would excel on their own pretty quickly. The others started to pick up the "Oh, if I change this, this changes". Then from there it gets easier, because they have a basis of the language and how to make it run.