Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
emoji
Jun 4, 2004
the espruino and tessel things are good, actually

Adbot
ADBOT LOVES YOU

emoji
Jun 4, 2004
oh you hate that kids in school and a lot more people in general will be able to play with embedded devices?

is it horrible because there's one more layer of abstraction over the hundreds of layers you're already working over?

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
kids in school who want to play with embedded systems can already get a frigging basic stamp that isn't going to throw stupid obstacles in their way at every turn

emoji
Jun 4, 2004
stupid obstacles like being able to connect their devices to the internet in one line of code and not having to create some kind of serial protocol in basic and linux and a webserver and whatever else you need for the basic stamp?


javascript might not be the best but you really think basic is better?

Cybernetic Vermin
Apr 18, 2005

i 100% legit think some light assembler is an excellent starting point for teaching kids programming

abstract code is tricky to learn to think about, assembler is relatively straightforward and gives a good mental model of what a computer is. if you're going to teach kids about js and the internet and poo poo just cut out the avr and let them press f12 in their browser as the starting point

Bloody
Mar 3, 2013

there is no reason to spend sixty dollars on a board running somebody's frankensteined javascript ~close 2 tha metal~ garbage when you can buy a raspberry pi for half the price and do whatever you want ranging from python non-embedded bullshit linux janitoring to actual on the metal code to literally everything in between including retarded javascript poo poo in node if you really really feel the need to

if you just wanna teach kids how to embedded jesus christ is javascript ever the wrong idea, use vex or arduino or something not completely pants on head loving retarded

emoji
Jun 4, 2004
i will start working on kid-friendly DSL over javascript for embedded devices

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

kraftwerk singles posted:

javascript might not be the best but you really think basic is better?
yes. yes.

Bloody
Mar 3, 2013

nevermind why the gently caress does your idiot blinking lights board need to connect to the internet. you can use embedded poo poo to do actual cool things like, i dunno, drive a mothafuckin robot around and you wanna just make it tweet? missing the point much?

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
this whole argument is dumb. even if you want to use javascript to write firmware, the espruino is a monstrously bad way to do it. the design team started off with the premise that the only way for source language debugging to work is to have a copy of the source code on the target device (this is why i said they don't know how an in-circuit debugger works nor what a map file is), and based on this flawed premise they implemented a shittastic vm that turns a 72 mhz cortex m3 into effectively a 7.2 khz device. this is slow enough that trivial first-assignment-in-babbys-first-embedded-control-class-for-non-programmers tasks like controlling a loving rc car servo in software become difficult.

HORATIO HORNBLOWER
Sep 21, 2002

no ambition,
no talent,
no chance

kraftwerk singles posted:

lol u mad. you know there are people who make more than you do writing javascript also

i'd be willing to bet there are highly experienced sanitation engineers who make more than i do but i'm still pretty pleased with my decision not to shovel garbage for a living

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

kraftwerk singles posted:

stupid obstacles like being able to connect their devices to the internet in one line of code and not having to create some kind of serial protocol in basic and linux and a webserver and whatever else you need for the basic stamp?


javascript might not be the best but you really think basic is better?

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Otto Skorzeny posted:

this whole argument is dumb. even if you want to use javascript to write firmware, the espruino is a monstrously bad way to do it. the design team started off with the premise that the only way for source language debugging to work is to have a copy of the source code on the target device (this is why i said they don't know how an in-circuit debugger works nor what a map file is), and based on this flawed premise they implemented a shittastic vm that turns a 72 mhz cortex m3 into effectively a 7.2 khz device. this is slow enough that trivial first-assignment-in-babbys-first-embedded-control-class-for-non-programmers tasks like controlling a loving rc car servo in software become difficult.

tbh this is all most people do with it

i saw a .net compat framework uC which was cool + u get VS support

emoji
Jun 4, 2004

Bloody posted:

nevermind why the gently caress does your idiot blinking lights board need to connect to the internet. you can use embedded poo poo to do actual cool things like, i dunno, drive a mothafuckin robot around and you wanna just make it tweet? missing the point much?

that point being what you personally like to do with embedded devices? how does having internet preclude all the other stuff?

Bloody
Mar 3, 2013

kraftwerk singles posted:

that point being what you personally like to do with embedded devices? how does having internet preclude all the other stuff?

how is it such an important feature that you turn a 72 MHz ARM into a 7.2KHz platform that can barely manage to do anything at all

there are so many better tools for the job that i really cant fathom why you're trying to say this isn't absolute gutter trash

Sapozhnik
Jan 2, 2005

Nap Ghost
kids don't give a poo poo about the nuts and bolts of embedded development, they want to program physically observable things to make them do cool poo poo, like say blinking an led

things they don't give a poo poo about include compiling and configuring a toolchain, writing and debugging a makefile including dependency tracking, cooking up all the bullshit gcc command line incantations necessary to emit the correct object code that will run in a vacuum, writing a linker script, writing a crt to set up the stack, clear bss and copy .data into SRAM, starting up internal and external oscillators, opening clock gates in the clock tree, programming control registers for the gpio unit, setting gpio routings and drive modes, and writing lots of tedious macros to wrap all of these register bit twiddling operations so that they can eventually, once they've filled out and notarised all the forms in triplicate, blink an led

swaddle them in a whole bunch of blankets and abstractions, this stuff doesn't matter in the beginning, it's like taking a kid who wants to plant peas in a pot on her windowsill and having her shovel pig poo poo on an industrial farm instead. this isn't the way to instill a love of gardening.

embedded dev is a terrible thing to expose a curious child to. not because it's hard, but because it's loving tedious. adults can still derive enjoyment from making physical things do cool stuff with the knowledge that they wrote every bit of code flashed into that thing's ROM, but only because they got to dick around in high level sandboxes when they were learning first. also because adults have more patience than children.

(tef was right. poo poo, i used to argue precisely the opposite viewpoint. i still think people who have made a commitment to formally educate themselves on software development should restart from the machine code level up, but on an idealised simulator like SPIM, not on some embedded or god forbid x86 system festooned with legacy poo poo that has sharp edges poking out everywhere for cost reasons)

Bloody
Mar 3, 2013

Malcolm XML posted:

tbh this is all most people do with it

i saw a .net compat framework uC which was cool + u get VS support

those boards are p cool although you already get VS support w/ anything atmel

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Mr Dog posted:

kids don't give a poo poo about the nuts and bolts of embedded development, they want to program physically observable things to make them do cool poo poo, like say blinking an led

things they don't give a poo poo about include compiling and configuring a toolchain, writing and debugging a makefile including dependency tracking, cooking up all the bullshit gcc command line incantations necessary to emit the correct object code that will run in a vacuum, writing a linker script, writing a crt to set up the stack, clear bss and copy .data into SRAM, starting up internal and external oscillators, opening clock gates in the clock tree, programming control registers for the gpio unit, setting gpio routings and drive modes, and writing lots of tedious macros to wrap all of these register bit twiddling operations so that they can eventually, once they've filled out and notarised all the forms in triplicate, blink an led

swaddle them in a whole bunch of blankets and abstractions, this stuff doesn't matter in the beginning, it's like taking a kid who wants to plant peas in a pot on her windowsill and having her shovel pig poo poo on an industrial farm instead. this isn't the way to instill you instill a love of gardening.

embedded dev is a terrible thing to expose a curious child to. not because it's hard, but because it's loving tedious. adults can still derive enjoyment from making physical things do cool stuff with the knowledge that they wrote every bit of code flashed into that thing's ROM, but only because they got to dick around in high level sandboxes when they were learning first. also because adults have more patience than children.

(tef was right. poo poo, i used to argue precisely the opposite viewpoint. i still think people who have made a commitment to formally educate themselves on software development should restart from the machine code level up, but on an idealised simulator like SPIM, not on some embedded or god forbid x86 system festooned with legacy poo poo that has sharp edges poking out everywhere for cost reasons)

ti calculator programming is about as close to most kids get to embedded programming

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Mr Dog posted:

kids don't give a poo poo about the nuts and bolts of embedded development, they want to program physically observable things to make them do cool poo poo, like say blinking an led

sure. and the espruino makes many of these simple tasks harder rather than easier to do than they would be with existing solutions due to the incompetence of its implementation

Bloody
Mar 3, 2013

Mr Dog posted:

kids don't give a poo poo about the nuts and bolts of embedded development, they want to program physically observable things to make them do cool poo poo, like say blinking an led

things they don't give a poo poo about include compiling and configuring a toolchain, writing and debugging a makefile including dependency tracking, cooking up all the bullshit gcc command line incantations necessary to emit the correct object code that will run in a vacuum, writing a linker script, writing a crt to set up the stack, clear bss and copy .data into SRAM, starting up internal and external oscillators, opening clock gates in the clock tree, programming control registers for the gpio unit, setting gpio routings and drive modes, and writing lots of tedious macros to wrap all of these register bit twiddling operations so that they can eventually, once they've filled out and notarised all the forms in triplicate, blink an led

swaddle them in a whole bunch of blankets and abstractions, this stuff doesn't matter in the beginning, it's like taking a kid who wants to plant peas in a pot on her windowsill and having her shovel pig poo poo on an industrial farm instead. this isn't the way to instill you instill a love of gardening.

embedded dev is a terrible thing to expose a curious child to. not because it's hard, but because it's loving tedious. adults can still derive enjoyment from making physical things do cool stuff with the knowledge that they wrote every bit of code flashed into that thing's ROM, but only because they got to dick around in high level sandboxes when they were learning first. also because adults have more patience than children.

(tef was right. poo poo, i used to argue precisely the opposite viewpoint. i still think people who have made a commitment to formally educate themselves on software development should restart from the machine code level up, but on an idealised simulator like SPIM, not on some embedded or god forbid x86 system festooned with legacy poo poo that has sharp edges poking out everywhere for cost reasons)

im an embedded dev and i do almost none of the things you just characterized embedded dev as ever. want to expose a kid to embedded dev? cool, there are great platforms for it. mindstorm, vex, arduino, raspberry pi, DyIOs, whatever. babby's first embedded whatever is a reasonably well-solved problem and lmbo at javascript being a reasonable answer.

Bloody
Mar 3, 2013

but nah youre right we should show kids that
while (1) { D14.set();D14.reset(); }

is a lot faster than

while (1) {                   D14.set();                      D14.reset();              }

and the layers of abstraction involved are helping them. kids just wanna write javascript!!!

Sapozhnik
Jan 2, 2005

Nap Ghost
don't get me wrong, unironically running a javascript vm on the metal plumbs new depths of terrible

Sapozhnik
Jan 2, 2005

Nap Ghost
could be fun as an ironic thing tho but there's always the problem that somebody won't realise that you're really Not Supposed To Do This

Sapozhnik
Jan 2, 2005

Nap Ghost
unless i'm using an honest-to-god RTOS (i.e. something with a timer mux and context switching scheduler at minimum) if it's an ARM i'll roll my own toolchain build, makefile, and crt. i've got most of this stuff pre-written in my scrapbook already anyway. it takes a day at most and it saves me from having to deal with hidden libc bullshit later on.

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Mr Dog posted:

don't get me wrong, unironically running a javascript vm on the metal plumbs new depths of terrible

having a uC that could run v8 bytecode would be neat, or llvm ir directly like the lisp machines sorta did, or the jazelle mode

emoji
Jun 4, 2004

Bloody posted:

but nah youre right we should show kids that
while (1) { D14.set();D14.reset(); }

is a lot faster than

while (1) {                   D14.set();                      D14.reset();              }

and the layers of abstraction involved are helping them. kids just wanna write javascript!!!

show me on the doll where the javascript touched you

Cybernetic Vermin
Apr 18, 2005

bought an intel galileo thinking i'd do some unspecific realtimey stuff with it, not reading the specs in full, and it turns out that it is 100% tied to a linux firmware :(

Deacon of Delicious
Aug 20, 2007

I bet the twist ending is Dracula's dick-babies

kraftwerk singles posted:

show me on the doll where the javascript touched you

*points to the internet*

pseudorandom name
May 6, 2007

Cybernetic Vermin posted:

bought an intel galileo thinking i'd do some unspecific realtimey stuff with it, not reading the specs in full, and it turns out that it is 100% tied to a linux firmware :(

but you've Joined The Community and become a Maker and are ready to participate in the Internet of Things

Cybernetic Vermin
Apr 18, 2005

that's not what i wanted :(

double sulk
Jul 2, 2010

page 800

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
i've run across this meeeeeeme before that it is the nature of "scripting languages" to behave irrationally and unpredictably and man that is totally something we need to encourage and promote, wouldn't you say?

Shaggar
Apr 26, 2006

Mr Dog posted:

god forbid x86 system festooned with legacy poo poo that has sharp edges poking out everywhere for cost reasons)

yeah c is the loving worst and on one should teach it to anyone.

Cybernetic Vermin
Apr 18, 2005

i would have agreed with you, but having taught both introductory c and introductory python to beginners it turns out that the halfway high-levelness of python is really loving tricky to teach because there are a bunch of details one doesn't usually think about that are hard to motivate to a beginner, whereas c has a primitive baseline but most things that go wrong derive from fundamental principles

don't teach python *or* c i guess the conclusion is, but also don't expect to be able to easily tell what languages are the easiest to learn in

mostly don't place yourself in the position of having to start explanations "well, you see, there is this sperg named guido..."

Bloody
Mar 3, 2013

don't teach programming.

Shaggar
Apr 26, 2006
yeah no one should ever learn python. its a bad language all around.

start w/ karel the robot and then move on to groovy and/or java.

Bloody
Mar 3, 2013

i started with logo and then lisp (lol) then mindstorms (also lol) then qbasic then java

didnt really catch the 'tism until qbasic

MeruFM
Jul 27, 2010
i started with macroexpress and then AutoIt to play grindy games.
making computer repeatedly do stuff for you pretty satisfying even as a teen.

I do wish there was something better than javascript, but also like interactive websites that can be shared with people. My idiot brain cannot handle anything lower than C. Even bitwise operations more complex than addition/subtraction are a bit much

Nomnom Cookie
Aug 30, 2009



theres a sperg in france who makes all the crazy bitwise poo poo like CRC32 in 3 instrutions and everyone else just c/ps them

he's getting old though and no replacement sperg has been found so we might soon be unable to create new bitwise operations

Adbot
ADBOT LOVES YOU

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av
oooh we're doing this now?

I started with CorelScript, an obscure BASIC dialect that you used to script the major applications of the CorelDRAW suite, or any OLE application. Major bonus points: easy GUI library and it made semi-standalone applications, only dependency was a really small runtime DLL

I then learned Javascript and made ~cool DHTML fx~ for a few years. I posted in a Javascript newsgroup where we'd share live demos as MIME-encoded posts (ah, the innocent days when Javascript was enabled by default almost anywhere), all of which are now lost forever because Deja didn't archive attachments because :filez:

In the meanwhile I learned Visual Basic, the Win32 API, and pain

I didn't get serious until learning Pascal for my first year programming courses at university. I then converted my Pascal knowledge to C (not hard, the languages are almost palette swaps of each other) to participate in the ReactOS project. The rest is history~

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply