I agree totally. I didn't meant to imply for a second that coding efficiently wasn't important at all, merely that it's not as important as it used to be.
When you choose a language, platform or even algorithm you make a tradeoff between developer-efficiency and machine-efficiency. Back in the day when we has only a few K to play with, machine-efficiency was king - processors were slow, and you simply couldn't fit too much into the available memory to worry about getting too lost in the code.
These days OSs and apps routinely run to thousands or millions of lines of code, and machines are thousands of times faster than they were back then. Because of the increased size of the program, developer-efficiency (ie, making the code understandable, avoiding bad design and security holes) becomes more important than it used to be, and machine-efficiency (as in, squeezing every last clock-cycle out of the processor) necessarily becomes less important than it used to be.
It's not anything about the language per se, but the whole culture of VB is much more isolated and monlingual than the brackets-and-braces languages.
As I said in other responses, I hardly know of anyone who knows Perl/PHP/Ruby/Python/Javascript who doesn't know at least "several" other languages, whereas the overwhelming majority of VB developers I know only know VB (sometimes with some minor BASIC derivatives in their past). I can't see this being co-incidence.
The other problem is how different VB's syntax is to the other languages - this is no big deal if you already know several, but if you're learning a second language, still think in your first one, and the new language is wildly alien... there's a hell of a temptation to give up and decide that the new language is simply inferior - see my earlier posting for a better explanation of what I mean.
Good point. This is probably the only place that Javascript/HTML fall down when compared to BASIC - they're very good for teaching networking, graphic design, stateless programming and database interaction, but they're almost completely missing any kind of easy real-time or graphics-intensive capability.
Well, until SVG becomes mainstream, at least - I'm sure then you'll start to see Tetris and Doom implemented pretty quickly.;-)
(And as an aside, I once implemented a playable game of Pong in Javascript/HTML - it would have been about 1997, or thereabouts.
This was before layers or CSS, so the ball was a large mostly-blank graphic with a tiny ball in the middle, in a central HTML frame. The paddles were graphics in left- and right-hand frames (one controlled with the mouse, one by pressing keys).
All "movement" was done in Javascript by using timers to programatically scrolling the appropriate frame up/down/left/right, and the scoring/collision detection was done with some really hairy JS that compared the scrolled positions of the various frames along with a hardcoded paddle-length value, and determined if the "ball" had hit the edge of the frame without the paddle being level with it (in its respective frame).
Hey, I never said it was pretty, but damn was I proud I managed to do it...;-)
I think syntax is less important for your first language, as everything's new to you.
I think it's vitally important for your second or third language, as at that stage people are thinking in their language of choice. Lacking a proper frame of reference they also tend to think they're pretty good programmers, and assume "different" == "shit"[1]. Similar syntax allows you to learn the language more easily, and to start to appreciate what it does well that your first language doesn't[2].
I think it's almost completely irrelevant after your fourth or fifth language, since by then you should be thinking in abstracts and the language only lets you express the ideas, not formulate them in the first place.
Wildly different syntax when learning your second or third language increases the chance that you'll give up and decide the "new" language is just crap, simply because you haven't understood how doing things differently can often be an improvement.
I don't think it's co-incidence that most of the C/C++/Perl/Ruby/Python/shellscripters I know can program in multiple languages and (holy wars aside) are generally accepting of new ones. In contrast, most of the VB programmers I know know VB (sometimes BASIC), and that's about it.
They also tend to believe firmly that VB is the best tool for everything from web development to arcade machine emulation, whereas the brackets-and-braces crowd I know tend first to consider the task, then choose a language to suit it. At the very least they seem to be aware of their chosen language's limitations, even if they don't enjoy admitting them to other people.
"I would say that Java is much more like VB (even pre.Net VB) than it is like C++."
The syntax of Java is blatantly that of C++ - it was even (IIRC) deliberately modelled on it. The Java libraries are pretty much like the.NET libraries, which are in turn somewhat like the old VB libraries, I'll grant you, as is the whole garbage-collection, runtime-library/bytecode interpreter requirement - the "feel" of the language is quite similar.
However, it's just occurred to me... I've always considered Java the most VB-like of the brackets-and-braces languages... and thinking back over the Java developers I've known it's also got the most VB-like following ("Java is the answer to everything", inelegant language leading to inelegant code, a tendancy to think in Java instead of thinking in abstract and expressing in Java, etc). Hmmm...;-)
It's also interesting to note that from BASIC->VB->VB.NET, the whole evolution of the "BASIC" family of languages has been tending ever-more in the direction that C/C++/Javascript/Java/Perl/PHP/etc were already going - dropping line-numbers, incorporating OOP, losing GOTOs (Ruby aside;-), etc.
VB has been getting more and more credibility the closer it moves to the B&B languages, until with VB.NET and C#, it's now semantically equivalent to one. In contrast, there's a direct and obvious direction from C right up to the present day. I don't think this is coincidence.
Of course, you could argue that even the B&B languages are now starting to tend in a slightly Lispy direction, but I don't (yet) know Lisp so I'm not qualified to comment.
[1] When all you've got is a hammer...
[2] Which leads straight on to the thought that "maybe my first language wasn't the best after all", which leads straight on to the thought that "what I'm comfortable with" != "the best tool for the job"... which cultivates an open mind and a willingness to try out new languages.
Don't forget Javascript. Javascript is the new BASIC.
Back in the day we'd write BASIC, then graduate to C/C++ for the "proper" coding.
These days kids learn HTML, then Javascript to make the HTML do interesting things. Then they pick up PHP or Java (or VB if they're unlucky) and from there Perl, Ruby, Python, whatever.
The most popular "beginners" language is always the most powerful one with the lowest barrier to entry. Anything that you can pick up quickly and do cool stuff with provides the essential satisfaction feedback that keeps you progressing and getting better.
HTML provides the "oooh, pretties" before you even learn do any actual programming, and Javascript introduces you to loops/conditionals and even OOP if you want. PHP/VB then add in database integration and stricter efficiency requirements (not to mention often the added complication of stateless programming), and by the time you can program competently in them you're well on the way to becoming a full-fledged Developer.
I have a great hope for dashboard widgets - it's exactly the kind of low-barrier-to-entry, high-return-on-time-invested platform that makes it interesting to learners, and because it's Javascript it's even starting them off on the kind of language that's the most useful to learn[1].
[1] Not to knock VB, but if you learn BASIC or VB you can basically program in... BASIC or VB. Learn Javascript and you've got a leg-up on the syntax of C, C++, Java, Perl, PHP, Ruby, etc, etc, etc, etc, etc.
With computers getting ever-faster and more advanced, coding efficiently is less and less important than it used to be. Efficient algorithms are still pretty important, but that's more about using matrix calculations and streamlining progam flow than about the intricacies of memory-management and choosing where on the hard disk you place your data for minimum retrieval time.
Witness the rise of interpreted languages like Perl/Ruby/PHP. Look at how semi-compiled bytecode languages like Java and the.NET stable are more mainstream than C/C++/whatever.
Don't get me wrong - I first learned BASIC, then C, then C++ and a bit of assembler, and I wouldn't trade this knowledge for the world. Nevertheless, now when I write C# code which is compiled to MSIL/.NET bytecode, which is then interpreted by the.NET runtime and turned into CISC instructions which are sometimes even then converted into RISC instructions... what exactly should I be coding to? How can I know what's happening to my code after it's run through 4 or even 5 levels of automatic conversion?
These days kids are learning how to use high-level tools first, and only learning the lower-level stuff as they get better and better. Sure this means an awful lot of nasty, bloated beginner-level PHP and VB.NET, but by the time they're ready to tackle compiler design they've generally already picked up the important bits as they go.
When we were learning code we'd write crappy code in BASIC/C, and it'd sit on our home PCs and never go anywhere. Now when a kid writes crappy PHP or VB.NET it's generally posted to a forum or used to run their website, so of course it's more visible.
We all wrote crappy code when we were learning, irrespective of the language. Certainly, I know I wrote some BASIC/C code that makes me cringe when I think of it now.
There are plenty of Discordians around, especially on Slashdot. It's just that whenever someone instructs a Discordian to "all hail Eris", most Discordian's first instincts are to do the opposite. Kind of goes with the territory.
Happily, there are also those like Kierthos, who even rebel against the disorder prevalent in Discordianism[1].
We don't distrust new technology because we don't understand it (like the photocopiers), but because we understand it all too well.
You'd think the writer had never installed version 1 of anything, never seen a website Slashdotted, Wanged, Farked or Dugg and never had his modem carrier drop in the middle of a session. I'd be willing to bet my life he's certainly never coded anything that relied on third-party libraries of variable quality, and he doesn't seem to understand the point of al lthose silly little "updates" Windows keeps bugging him to install.
When web services and computers are as reliable as photocopiers, then I'll start to trust them as much.
If there were ten different standards of photocopiers and only certain types of paper worked with each, every photocopier had a big BETA VERSION sticker slapped on it and they regularly disappeared, blew up or (even worse) missed out random words in a paragraph... then you can bet your arse we'd all be proofreading our photocopies.
I'm also not entirely sure what the writer's advocating - I don't know anyone who CCs e-mails to themselves "to check the sent alright", and the only other angle I can think of is complaining about code (eg, web-services) that checks for sensible return values. Since this is all done in code it's effectively free, so nothing is wasted. It's not ludditism, it's simply good belt-and-braces engineering.
Sorry - it's just that people posting "X is crap because I personally don't need it" are a pet hate of mine.
Regarding your other points... good points, every one.
I'm not saying i-name is an unimpeachably good idea, merely that BadAnalogyGuy had yet to voice a good objection. The overwhelming majority of people immediately wrote this off as a scam, apparently without even bothering to consider if it could turn into a useful idea.
You're right - at the moment (lacking widespread acceptance) they aren't offering anything worth $5 - hell they aren't offering anything worth $0.50. However, I think the idea of a flexible identity/contact system like this is an interesting one, and (less the technical problems you highlighted, like lack of namespaces) it could turn into a useful service.
Finally, just a couple of points you raise:
"you can't invite all your friends to a party? Why, perhaps they're not all on "i-name".."
Your friends don't have to be on i-name if your e-mail system supports it. The idea was that you could send to normal e-mail addresses for the people without i-name, or to an i-name for people with it. The advantage of i-names is that as long as they're still your friends (ie, haven't revoken your "view my e-mail" perms) you know your message is going to get through, even if they changed their address in the mean-time.
"Perhaps I don't want to receive mass mailings ("boon to marketing scumbags") unless I specifically hand you my e-mail address?"
Again, controlling who's allowed to see what details means it's effectively useles to marketers - you'll no doubt have a "Deny *" as the first permission set, optionally enable one method as your preferred method for unrecognised people, then enable extra mathods for people and orgnisations as-and-when you like. If someone you've allowed to e-mail you starts sending you obnoxious advertising mails or spam, you can cut them off in a second (and then your e-mail client starts rejecting their mail automatically).
If anything this could make online marketing harder and less obnoxious - spammers harvesting e-mail addresses would be pointless (as the addresses won't work for them until you enable their "e-mailing" permissions), and even "legitimate" e-mail marketing would have to be more careful, since it'd be trivial to block them if they annoyed you even slightly.
Picture a world where companies view being able to contact you as a privilege, not a right, and moreover a privilege which can be revoked at any time for any reason...?
""if I'm away from the computer but right next to a phone/envelope and stamp/fax machine/semaphore flag/whatever" - great, so you've got working implementations of the directory for all those media, huh? Ohh, that's right, you don't."
Heh - good point. Maybe the semaphore flag and pen-and-paper were pushing it a bit. But it would be relatively trivial from a technical standpoint to get a GPRS phone, IM client, e-mail client (etc, etc) to use a system like this. The only reason they don't do it at the moment is that there isn't a good, open, widespread identity system for them to hook into.
"You seem to be a bit too enthusiastic about this. Are you one of the people launching this? I'm just telling you; prepare to be disappointed."
Heh, I knew someone would suggest that... but no, I'm nothing to do with it.
I'm not neccessarily expecting this to work at all (and I certainly haven't signed up and paid $5 yet), but everyone seems to be writing it off as a scam or worthless without bothering to think of the implications if it did work.
And there were an awful lot of posts I can only class as "fucking stupid" - people who hadn't RTFA, assumed all your personal info would be up for grabs by anyone, assumed "I won't use it" makes it "a stupid idea", etc, etc.;-)
Sorry, but this is so daft I barely know where to begin...
Surely by that metric you can write off the telephone, post, semaphore and morse code as "a boon to marketing scumbags", too then?
In fact, since you can apparently select precisely who gets to see what contact information using i-name, and you can't easily filter who completes a form on your (very public) website, your "solution" is clearly deeply defective compared to the one you're disparaging.
But lets take your assertions one-by-one:
I have a website.
Most people don't, therefore while this may suffice for you, it won't for the rest of the population. Ergo it's not a general solution. Next!
It has a contact form.
Many people don't have the time or knowledge to set one up, or simply can't be bothered. Therefore WTMSFYIWFTROTP.
Wanna contact me, fill in the form, I gets e-mail and decide what to do with your request.
Brilliant. Except that unless I know your URL I can't. Or if I'm away from the computer but right next to a phone/envelope and stamp/fax machine/semaphore flag/whatever I can't. Or if you're away from the computer (etc) I can't. Or I want to send one message to multiple recipients (say, announcing a party to friends), I can't. Or...
That's 0-for-three so far, then.
Costs me less than $20/year, and it works with everybody's existing setup.
Not even nearly. Unless by "works with everybody's existing setup" you mean "it's theoretically possible to contact me in one specific way if you jump through enough hoops first".
But frankly if you don't see the advantage to a single-point-of-contact that allows people you choose to choose their own method of contacting you (e-mail, telephone, post or even fill-in-a-web-form), depending on what you've chosen to allow them to use... well, I don't know where to begin.
You do understand the concept of convenience, don't you? And how, if you make yourself hard to contact, people won't bother contacting you as much? And how while they don't like spam, most people want to be contactable by other people? And how most people instinctively see the problem with, for example, living like a hermit at the top of a mountain, refusing to talk to people unless they contact them in sign language while wearing one blue sock and chewing on a rabbit's foot?
Just checking, because from your response you'd never know it.
Fine. You have no need of i-name. Other people might find it really useful.
So it's not useless or pointless, because many people will have a use and a point for it.
It looks like you agree that we were not "made in his image", we're just a stepping stone...
Or, y'know, we just evolved from a random bunch of slime on a random planet in a random solar-system in a random galaxy, possibly even in a random universe.
I try to keep an open mind, since there's precisely no evidence either way.
The only thing I'm remotely sure of on the subject is that we're definitely not what any god I would believe in would have had in mind as a final perfect product. Frankly if we were, God would have to be a complete bastard.
And how much do (for example) domain-names cost? And are they remotely as useful as this? This is like a meta-domain name, a meta-e-mail address, meta-phone number and meta-postal address all in one.
"It doesn't make sense in any way, for customers."
What, you mean apart from all those ways I listed in my previous post?
Hello-o?
"For people who seek to collect all data about you and are forever after a unique ID (see SSN) to organize their victi^H^H^H^H^Hcustomer database more effectively, it must seem like something really worth looking into."
Please explain how a repository of personal contact information that you personally grant access permissions to on a user-by-user basis is a boon to marketing scumbags.
And FWIW, if you've got someone's name and e-mail address you can already de-duplicate them almost perfectly anyway. This provides very little real advantage in that case.
Also, nothing says you can't still just abandon one i-name and simply register another one.
Nevertheless, that doesn't stop it being a good ide, if enough people get on-board.
I have absolutely no doubt there were forums full of people saying exactly the same things about DNS before that took off, too[1]. For-pay? Publically-accessible contact details? Right, like anyone's going to use *that* minority system! Fnord! FNORD!
Not to say it'll definitely take off, but I think the tide of scorn being heaped on it is perhaps a little premature.
[1] Or would have been, had the internet had a peanut gallery back then.
I dunno - it seems like a potentially interesting idea.
It would be useful to have a single point of contact which doesn't ever have to change. For example, for one reason or another, most people I know seem to change their e-mails or mobile numbers at least once every few years. (PEDANTS: Yes, yes, I know, you've had yours for the last three centuries. Sit down - I said "most people". I'm not talking to you.)
If you could have a system that makes that unnecessary (or at least, painless for all concerned), surely that's a good thing?
If you want to change your identity, you simply register a new i-name and let the previous one lapse.
If you want to (for example) change your e-mail address or move house you just update your info in one single place, safe in the knowledge that people can still contact you. No more phoning around banks, credit card companies, utility companies, phone/broadband companies, loyalty card companies, friends, relatives, etc, etc, etc, etc, etc.
If you want to avoid someone you simply revoke their privileges to read your contact info. If they happen to remember your info even so then simply change it (see above). Even better, once the infrastructure's in place you set your e-mail client/phone/whatever to check your i-name privileges before allowing the e-mail/call through each time.
The only bit that made me really itchy was the associated idea of i-numbers which are "registered to a person... and never reassigned" - why no facility to change them (eg, if they're compromised)?
However, this is only even mentioned on a third-party site, and there's no indication at all that it's a necessary or even optionally included part of what iwantmyname is doing.
Sure, if you're an uber-geek you can presently hack together a system that allows you to dump out info from a central resource (eg, a website), you can require people to log in with a unique username and password before they can see your contact info, you can present different info to different people and selectively killfile people, and you can hack together something that'll make some mail readers automatically check this resource and filter your mail accordingly, but that doesn't mean:
It'll work well
It'll always work (start a new corporate job which mandates using Outlook Express, and try getting that to killfile based on your hacked-up solution)
It's within the reach of 99% of the population
It's remotely standardised
Anyone will be bothered to jump through the hoops you've set up to bother contacting you in the first place
I mean, even though it's possible, and even though it would save a lot of hassle when moving house/job/e-mail/phone #/whatever... how many of you have actually bothered to do it?
Sure, if they're conning $5 out of you essentially for snake-oil then by all means all throw your toys out of your prams. However, (less some important caveats) it sounds to me like an interesting proposal, which could improve life on-line immensely if you have enough control, it's secure and it becomes widespread.
How about dragging said kid out into a field early on a saturday morning and forcing them to stand and watch for hours until a tiny dot goes "whooosh" and disappears?
Instead of finding something stimulating that you know the kid will find interesting, and engaging with them in that way?
Good god. It's... almost like... her parents... have the biggest impact... on her upbringing!
Jesus Christ! Think of the implications! Someone get Jack Thompson and Hillary Clinton on the phone and tell them they've been wasting their time right now!
I think I've got a whole new solution to this "wayward kids" problem they're so concerned about!
Our mass-media (meme-propagation system) has increased in efficiency tens or hundreds of times faster than our context-supplying instincts.
We evolved in loose groups of 150-250 individuals. If you heard about someone getting eaten by a tiger then, chances are you should watch out because he was likely only a few hundred metres over that way, so the danger to you was very real.
Then we started to hear about things that happened to someone at the other end of the country, and suddenly it seemed like there were murderers and rapists and nutjobs everywhere, because barely a day went past when we didn't hear of someone getting killed in an inventive or gruesome way.
Now we've got the web, and e-mail, and satellite TV, and blogs, and we hear about it if a mouse farts in Buttfuck, Antarctica. And now it's not even safe to let your kids walk to school for fear of them getting molested, you can't get on a 'plane for fear it'll be bombed out of the sky, and you can't visit the toilet in your own house without getting abducted and beheaded by terrorists.
The only way to tackle this is by recognising what's going on and overruling your instincts. They served you well ten thousands years ago when you lived in a tree and had to avoid tigers, but now we're living in condos and keep small tigers in the house as pets.
Try my patented Lightning Test: Look up the statistics of whatever the latest mania/terror/panic is about, and worry about it if it's more likely than.. oh... say... getting hit by lightning.
Try terrorism - look up the number of deaths form terrorism each year, then look up the number of people who get hit by lightning.
Now if someone's advocating taking away civil rights because of terrorism, or locking up our children because of paedophiles, you can apply the simple test: Are they also advocating the compulsory wearing of earthed metal hats and rubber gumboots?
If not, then their little pet crusade is clearly disproportionate and can be safely ignored.
This has been a Public Service Announcement from the Lets All Get A Fucking Grip Society. Have a nice day.
In other news, kids today also don't know how to make fire by rubbing two sticks together, bring down an antelope with an atlatl or use every last bit of a dead bison.
Ok, that was a bit inflamatory, but you see my point. Assembler is a very useful skill when it's useful, but for people who want to develop web applications, program in Java or admin Unix systems it's almost useless. And if not useless, then at least not nearly as useful as spending that time learning [perl|php|ruby|bash|*].
I did some assembler at University - enough to get an understanding of it. I now know what assembler is, and roughly what developing in it is like. I also know that I'll never use it for 99.999% of my life, for the same reason I don't set out to make a table by glueing together splinters. Sure, I might get a really beautiful table, with edges precise down to the micrometre, but frankly precision to the millimetre is good enough for the current job, and I don't have ten years to spend knocking out one table.
If you want to get into an area where assembler is useful (like, say, embedded software development), then you'll learn it in order to do so. You even provide the example yourself that people were quite happy to learn it to learn video card shader programming, when it was necessary.
Indeed. I feel a website coming on... ;-)
I agree totally. I didn't meant to imply for a second that coding efficiently wasn't important at all, merely that it's not as important as it used to be.
When you choose a language, platform or even algorithm you make a tradeoff between developer-efficiency and machine-efficiency. Back in the day when we has only a few K to play with, machine-efficiency was king - processors were slow, and you simply couldn't fit too much into the available memory to worry about getting too lost in the code.
These days OSs and apps routinely run to thousands or millions of lines of code, and machines are thousands of times faster than they were back then. Because of the increased size of the program, developer-efficiency (ie, making the code understandable, avoiding bad design and security holes) becomes more important than it used to be, and machine-efficiency (as in, squeezing every last clock-cycle out of the processor) necessarily becomes less important than it used to be.
It's not anything about the language per se, but the whole culture of VB is much more isolated and monlingual than the brackets-and-braces languages.
As I said in other responses, I hardly know of anyone who knows Perl/PHP/Ruby/Python/Javascript who doesn't know at least "several" other languages, whereas the overwhelming majority of VB developers I know only know VB (sometimes with some minor BASIC derivatives in their past). I can't see this being co-incidence.
The other problem is how different VB's syntax is to the other languages - this is no big deal if you already know several, but if you're learning a second language, still think in your first one, and the new language is wildly alien... there's a hell of a temptation to give up and decide that the new language is simply inferior - see my earlier posting for a better explanation of what I mean.
Good point. This is probably the only place that Javascript/HTML fall down when compared to BASIC - they're very good for teaching networking, graphic design, stateless programming and database interaction, but they're almost completely missing any kind of easy real-time or graphics-intensive capability.
;-)
;-)
Well, until SVG becomes mainstream, at least - I'm sure then you'll start to see Tetris and Doom implemented pretty quickly.
(And as an aside, I once implemented a playable game of Pong in Javascript/HTML - it would have been about 1997, or thereabouts.
This was before layers or CSS, so the ball was a large mostly-blank graphic with a tiny ball in the middle, in a central HTML frame. The paddles were graphics in left- and right-hand frames (one controlled with the mouse, one by pressing keys).
All "movement" was done in Javascript by using timers to programatically scrolling the appropriate frame up/down/left/right, and the scoring/collision detection was done with some really hairy JS that compared the scrolled positions of the various frames along with a hardcoded paddle-length value, and determined if the "ball" had hit the edge of the frame without the paddle being level with it (in its respective frame).
Hey, I never said it was pretty, but damn was I proud I managed to do it...
I think syntax is less important for your first language, as everything's new to you.
.Net VB) than it is like C++."
.NET libraries, which are in turn somewhat like the old VB libraries, I'll grant you, as is the whole garbage-collection, runtime-library/bytecode interpreter requirement - the "feel" of the language is quite similar.
;-)
;-), etc.
I think it's vitally important for your second or third language, as at that stage people are thinking in their language of choice. Lacking a proper frame of reference they also tend to think they're pretty good programmers, and assume "different" == "shit"[1]. Similar syntax allows you to learn the language more easily, and to start to appreciate what it does well that your first language doesn't[2].
I think it's almost completely irrelevant after your fourth or fifth language, since by then you should be thinking in abstracts and the language only lets you express the ideas, not formulate them in the first place.
Wildly different syntax when learning your second or third language increases the chance that you'll give up and decide the "new" language is just crap, simply because you haven't understood how doing things differently can often be an improvement.
I don't think it's co-incidence that most of the C/C++/Perl/Ruby/Python/shellscripters I know can program in multiple languages and (holy wars aside) are generally accepting of new ones. In contrast, most of the VB programmers I know know VB (sometimes BASIC), and that's about it.
They also tend to believe firmly that VB is the best tool for everything from web development to arcade machine emulation, whereas the brackets-and-braces crowd I know tend first to consider the task, then choose a language to suit it. At the very least they seem to be aware of their chosen language's limitations, even if they don't enjoy admitting them to other people.
"I would say that Java is much more like VB (even pre
The syntax of Java is blatantly that of C++ - it was even (IIRC) deliberately modelled on it. The Java libraries are pretty much like the
However, it's just occurred to me... I've always considered Java the most VB-like of the brackets-and-braces languages... and thinking back over the Java developers I've known it's also got the most VB-like following ("Java is the answer to everything", inelegant language leading to inelegant code, a tendancy to think in Java instead of thinking in abstract and expressing in Java, etc). Hmmm...
It's also interesting to note that from BASIC->VB->VB.NET, the whole evolution of the "BASIC" family of languages has been tending ever-more in the direction that C/C++/Javascript/Java/Perl/PHP/etc were already going - dropping line-numbers, incorporating OOP, losing GOTOs (Ruby aside
VB has been getting more and more credibility the closer it moves to the B&B languages, until with VB.NET and C#, it's now semantically equivalent to one. In contrast, there's a direct and obvious direction from C right up to the present day. I don't think this is coincidence.
Of course, you could argue that even the B&B languages are now starting to tend in a slightly Lispy direction, but I don't (yet) know Lisp so I'm not qualified to comment.
[1] When all you've got is a hammer...
[2] Which leads straight on to the thought that "maybe my first language wasn't the best after all", which leads straight on to the thought that "what I'm comfortable with" != "the best tool for the job"... which cultivates an open mind and a willingness to try out new languages.
Erm... most kids weren't playing with BASIC, either.
It was the nerds and geeks that were playing with BASIC - everyone else was out playing football and climbing trees.
Now the geeks and nerds are learning Javascript, and everyone else is still out playing football and climbing trees.
Don't forget Javascript. Javascript is the new BASIC.
Back in the day we'd write BASIC, then graduate to C/C++ for the "proper" coding.
These days kids learn HTML, then Javascript to make the HTML do interesting things. Then they pick up PHP or Java (or VB if they're unlucky) and from there Perl, Ruby, Python, whatever.
The most popular "beginners" language is always the most powerful one with the lowest barrier to entry. Anything that you can pick up quickly and do cool stuff with provides the essential satisfaction feedback that keeps you progressing and getting better.
HTML provides the "oooh, pretties" before you even learn do any actual programming, and Javascript introduces you to loops/conditionals and even OOP if you want. PHP/VB then add in database integration and stricter efficiency requirements (not to mention often the added complication of stateless programming), and by the time you can program competently in them you're well on the way to becoming a full-fledged Developer.
I have a great hope for dashboard widgets - it's exactly the kind of low-barrier-to-entry, high-return-on-time-invested platform that makes it interesting to learners, and because it's Javascript it's even starting them off on the kind of language that's the most useful to learn[1].
[1] Not to knock VB, but if you learn BASIC or VB you can basically program in... BASIC or VB. Learn Javascript and you've got a leg-up on the syntax of C, C++, Java, Perl, PHP, Ruby, etc, etc, etc, etc, etc.
What does learning about the underlying system help with in programming?
.NET stable are more mainstream than C/C++/whatever.
.NET runtime and turned into CISC instructions which are sometimes even then converted into RISC instructions... what exactly should I be coding to? How can I know what's happening to my code after it's run through 4 or even 5 levels of automatic conversion?
Architecting beautiful code? Nope.
Learning powerful, high-level abstractions? Nope.
Programming efficiently to the hardware.
With computers getting ever-faster and more advanced, coding efficiently is less and less important than it used to be. Efficient algorithms are still pretty important, but that's more about using matrix calculations and streamlining progam flow than about the intricacies of memory-management and choosing where on the hard disk you place your data for minimum retrieval time.
Witness the rise of interpreted languages like Perl/Ruby/PHP. Look at how semi-compiled bytecode languages like Java and the
Don't get me wrong - I first learned BASIC, then C, then C++ and a bit of assembler, and I wouldn't trade this knowledge for the world. Nevertheless, now when I write C# code which is compiled to MSIL/.NET bytecode, which is then interpreted by the
These days kids are learning how to use high-level tools first, and only learning the lower-level stuff as they get better and better. Sure this means an awful lot of nasty, bloated beginner-level PHP and VB.NET, but by the time they're ready to tackle compiler design they've generally already picked up the important bits as they go.
When we were learning code we'd write crappy code in BASIC/C, and it'd sit on our home PCs and never go anywhere. Now when a kid writes crappy PHP or VB.NET it's generally posted to a forum or used to run their website, so of course it's more visible.
We all wrote crappy code when we were learning, irrespective of the language. Certainly, I know I wrote some BASIC/C code that makes me cringe when I think of it now.
Indeed, Kierthos.
There are plenty of Discordians around, especially on Slashdot. It's just that whenever someone instructs a Discordian to "all hail Eris", most Discordian's first instincts are to do the opposite. Kind of goes with the territory.
Happily, there are also those like Kierthos, who even rebel against the disorder prevalent in Discordianism[1].
All Hail Discordia!
(Hah!)
And this is the whole failing of the article.
We don't distrust new technology because we don't understand it (like the photocopiers), but because we understand it all too well.
You'd think the writer had never installed version 1 of anything, never seen a website Slashdotted, Wanged, Farked or Dugg and never had his modem carrier drop in the middle of a session. I'd be willing to bet my life he's certainly never coded anything that relied on third-party libraries of variable quality, and he doesn't seem to understand the point of al lthose silly little "updates" Windows keeps bugging him to install.
When web services and computers are as reliable as photocopiers, then I'll start to trust them as much.
If there were ten different standards of photocopiers and only certain types of paper worked with each, every photocopier had a big BETA VERSION sticker slapped on it and they regularly disappeared, blew up or (even worse) missed out random words in a paragraph... then you can bet your arse we'd all be proofreading our photocopies.
I'm also not entirely sure what the writer's advocating - I don't know anyone who CCs e-mails to themselves "to check the sent alright", and the only other angle I can think of is complaining about code (eg, web-services) that checks for sensible return values. Since this is all done in code it's effectively free, so nothing is wasted. It's not ludditism, it's simply good belt-and-braces engineering.
"Wow. You're really crabby about this."
;-)
Sorry - it's just that people posting "X is crap because I personally don't need it" are a pet hate of mine.
Regarding your other points... good points, every one.
I'm not saying i-name is an unimpeachably good idea, merely that BadAnalogyGuy had yet to voice a good objection. The overwhelming majority of people immediately wrote this off as a scam, apparently without even bothering to consider if it could turn into a useful idea.
You're right - at the moment (lacking widespread acceptance) they aren't offering anything worth $5 - hell they aren't offering anything worth $0.50. However, I think the idea of a flexible identity/contact system like this is an interesting one, and (less the technical problems you highlighted, like lack of namespaces) it could turn into a useful service.
Finally, just a couple of points you raise:
"you can't invite all your friends to a party? Why, perhaps they're not all on "i-name".."
Your friends don't have to be on i-name if your e-mail system supports it. The idea was that you could send to normal e-mail addresses for the people without i-name, or to an i-name for people with it. The advantage of i-names is that as long as they're still your friends (ie, haven't revoken your "view my e-mail" perms) you know your message is going to get through, even if they changed their address in the mean-time.
"Perhaps I don't want to receive mass mailings ("boon to marketing scumbags") unless I specifically hand you my e-mail address?"
Again, controlling who's allowed to see what details means it's effectively useles to marketers - you'll no doubt have a "Deny *" as the first permission set, optionally enable one method as your preferred method for unrecognised people, then enable extra mathods for people and orgnisations as-and-when you like. If someone you've allowed to e-mail you starts sending you obnoxious advertising mails or spam, you can cut them off in a second (and then your e-mail client starts rejecting their mail automatically).
If anything this could make online marketing harder and less obnoxious - spammers harvesting e-mail addresses would be pointless (as the addresses won't work for them until you enable their "e-mailing" permissions), and even "legitimate" e-mail marketing would have to be more careful, since it'd be trivial to block them if they annoyed you even slightly.
Picture a world where companies view being able to contact you as a privilege, not a right, and moreover a privilege which can be revoked at any time for any reason...?
""if I'm away from the computer but right next to a phone/envelope and stamp/fax machine/semaphore flag/whatever" - great, so you've got working implementations of the directory for all those media, huh? Ohh, that's right, you don't."
Heh - good point. Maybe the semaphore flag and pen-and-paper were pushing it a bit. But it would be relatively trivial from a technical standpoint to get a GPRS phone, IM client, e-mail client (etc, etc) to use a system like this. The only reason they don't do it at the moment is that there isn't a good, open, widespread identity system for them to hook into.
"You seem to be a bit too enthusiastic about this. Are you one of the people launching this? I'm just telling you; prepare to be disappointed."
Heh, I knew someone would suggest that... but no, I'm nothing to do with it.
I'm not neccessarily expecting this to work at all (and I certainly haven't signed up and paid $5 yet), but everyone seems to be writing it off as a scam or worthless without bothering to think of the implications if it did work.
And there were an awful lot of posts I can only class as "fucking stupid" - people who hadn't RTFA, assumed all your personal info would be up for grabs by anyone, assumed "I won't use it" makes it "a stupid idea", etc, etc.
Sorry, but this is so daft I barely know where to begin...
Surely by that metric you can write off the telephone, post, semaphore and morse code as "a boon to marketing scumbags", too then?
In fact, since you can apparently select precisely who gets to see what contact information using i-name, and you can't easily filter who completes a form on your (very public) website, your "solution" is clearly deeply defective compared to the one you're disparaging.
But lets take your assertions one-by-one:
I have a website.
Most people don't, therefore while this may suffice for you, it won't for the rest of the population. Ergo it's not a general solution. Next!
It has a contact form.
Many people don't have the time or knowledge to set one up, or simply can't be bothered. Therefore WTMSFYIWFTROTP.
Wanna contact me, fill in the form, I gets e-mail and decide what to do with your request.
Brilliant. Except that unless I know your URL I can't.
Or if I'm away from the computer but right next to a phone/envelope and stamp/fax machine/semaphore flag/whatever I can't.
Or if you're away from the computer (etc) I can't.
Or I want to send one message to multiple recipients (say, announcing a party to friends), I can't.
Or...
That's 0-for-three so far, then.
Costs me less than $20/year, and it works with everybody's existing setup.
Not even nearly. Unless by "works with everybody's existing setup" you mean "it's theoretically possible to contact me in one specific way if you jump through enough hoops first".
But frankly if you don't see the advantage to a single-point-of-contact that allows people you choose to choose their own method of contacting you (e-mail, telephone, post or even fill-in-a-web-form), depending on what you've chosen to allow them to use... well, I don't know where to begin.
You do understand the concept of convenience, don't you? And how, if you make yourself hard to contact, people won't bother contacting you as much? And how while they don't like spam, most people want to be contactable by other people? And how most people instinctively see the problem with, for example, living like a hermit at the top of a mountain, refusing to talk to people unless they contact them in sign language while wearing one blue sock and chewing on a rabbit's foot?
Just checking, because from your response you'd never know it.
Fine. You have no need of i-name. Other people might find it really useful.
So it's not useless or pointless, because many people will have a use and a point for it.
You != everybody.
What's so hard about this to work out?
It looks like you agree that we were not "made in his image", we're just a stepping stone...
Or, y'know, we just evolved from a random bunch of slime on a random planet in a random solar-system in a random galaxy, possibly even in a random universe.
I try to keep an open mind, since there's precisely no evidence either way.
The only thing I'm remotely sure of on the subject is that we're definitely not what any god I would believe in would have had in mind as a final perfect product. Frankly if we were, God would have to be a complete bastard.
"Ever as in: as long as you pay $20 every year?"
And how much do (for example) domain-names cost? And are they remotely as useful as this? This is like a meta-domain name, a meta-e-mail address, meta-phone number and meta-postal address all in one.
"It doesn't make sense in any way, for customers."
What, you mean apart from all those ways I listed in my previous post?
Hello-o?
"For people who seek to collect all data about you and are forever after a unique ID (see SSN) to organize their victi^H^H^H^H^Hcustomer database more effectively, it must seem like something really worth looking into."
Please explain how a repository of personal contact information that you personally grant access permissions to on a user-by-user basis is a boon to marketing scumbags.
And FWIW, if you've got someone's name and e-mail address you can already de-duplicate them almost perfectly anyway. This provides very little real advantage in that case.
Also, nothing says you can't still just abandon one i-name and simply register another one.
Errrrm... ok...
...
I'll agree with you 100%...
Just point to the bit that says you won't be able to register more than one i-name.
Anyone?
Probably because it is exactly like that.
Nevertheless, that doesn't stop it being a good ide, if enough people get on-board.
I have absolutely no doubt there were forums full of people saying exactly the same things about DNS before that took off, too[1]. For-pay? Publically-accessible contact details? Right, like anyone's going to use *that* minority system! Fnord! FNORD!
Not to say it'll definitely take off, but I think the tide of scorn being heaped on it is perhaps a little premature.
[1] Or would have been, had the internet had a peanut gallery back then.
Touché
Like that. Bwahahahaha.
It would be useful to have a single point of contact which doesn't ever have to change. For example, for one reason or another, most people I know seem to change their e-mails or mobile numbers at least once every few years. (PEDANTS: Yes, yes, I know, you've had yours for the last three centuries. Sit down - I said "most people". I'm not talking to you.)
If you could have a system that makes that unnecessary (or at least, painless for all concerned), surely that's a good thing?
If you want to change your identity, you simply register a new i-name and let the previous one lapse.
If you want to (for example) change your e-mail address or move house you just update your info in one single place, safe in the knowledge that people can still contact you. No more phoning around banks, credit card companies, utility companies, phone/broadband companies, loyalty card companies, friends, relatives, etc, etc, etc, etc, etc.
If you want to avoid someone you simply revoke their privileges to read your contact info. If they happen to remember your info even so then simply change it (see above). Even better, once the infrastructure's in place you set your e-mail client/phone/whatever to check your i-name privileges before allowing the e-mail/call through each time.
The only bit that made me really itchy was the associated idea of i-numbers which are "registered to a person... and never reassigned" - why no facility to change them (eg, if they're compromised)?
However, this is only even mentioned on a third-party site, and there's no indication at all that it's a necessary or even optionally included part of what iwantmyname is doing.
Sure, if you're an uber-geek you can presently hack together a system that allows you to dump out info from a central resource (eg, a website), you can require people to log in with a unique username and password before they can see your contact info, you can present different info to different people and selectively killfile people, and you can hack together something that'll make some mail readers automatically check this resource and filter your mail accordingly, but that doesn't mean:
I mean, even though it's possible, and even though it would save a lot of hassle when moving house/job/e-mail/phone #/whatever... how many of you have actually bothered to do it?
Sure, if they're conning $5 out of you essentially for snake-oil then by all means all throw your toys out of your prams. However, (less some important caveats) it sounds to me like an interesting proposal, which could improve life on-line immensely if you have enough control, it's secure and it becomes widespread.
Dad?
Amen.
And "introverted social phobics" != "someone who plays computer games".
warmth of lovemaking
I think there's a word for the kind of adults who try to introduce kids to that particular activity...
How about dragging said kid out into a field early on a saturday morning and forcing them to stand and watch for hours until a tiny dot goes "whooosh" and disappears?
Instead of finding something stimulating that you know the kid will find interesting, and engaging with them in that way?
Just a thought.
Good god. It's... almost like... her parents... have the biggest impact... on her upbringing!
Jesus Christ! Think of the implications! Someone get Jack Thompson and Hillary Clinton on the phone and tell them they've been wasting their time right now!
I think I've got a whole new solution to this "wayward kids" problem they're so concerned about!
Our mass-media (meme-propagation system) has increased in efficiency tens or hundreds of times faster than our context-supplying instincts.
We evolved in loose groups of 150-250 individuals. If you heard about someone getting eaten by a tiger then, chances are you should watch out because he was likely only a few hundred metres over that way, so the danger to you was very real.
Then we started to hear about things that happened to someone at the other end of the country, and suddenly it seemed like there were murderers and rapists and nutjobs everywhere, because barely a day went past when we didn't hear of someone getting killed in an inventive or gruesome way.
Now we've got the web, and e-mail, and satellite TV, and blogs, and we hear about it if a mouse farts in Buttfuck, Antarctica. And now it's not even safe to let your kids walk to school for fear of them getting molested, you can't get on a 'plane for fear it'll be bombed out of the sky, and you can't visit the toilet in your own house without getting abducted and beheaded by terrorists.
The only way to tackle this is by recognising what's going on and overruling your instincts. They served you well ten thousands years ago when you lived in a tree and had to avoid tigers, but now we're living in condos and keep small tigers in the house as pets.
Try my patented Lightning Test: Look up the statistics of whatever the latest mania/terror/panic is about, and worry about it if it's more likely than.. oh... say... getting hit by lightning.
Try terrorism - look up the number of deaths form terrorism each year, then look up the number of people who get hit by lightning.
Now if someone's advocating taking away civil rights because of terrorism, or locking up our children because of paedophiles, you can apply the simple test: Are they also advocating the compulsory wearing of earthed metal hats and rubber gumboots?
If not, then their little pet crusade is clearly disproportionate and can be safely ignored.
This has been a Public Service Announcement from the Lets All Get A Fucking Grip Society. Have a nice day.
In other news, kids today also don't know how to make fire by rubbing two sticks together, bring down an antelope with an atlatl or use every last bit of a dead bison.
Ok, that was a bit inflamatory, but you see my point. Assembler is a very useful skill when it's useful, but for people who want to develop web applications, program in Java or admin Unix systems it's almost useless. And if not useless, then at least not nearly as useful as spending that time learning [perl|php|ruby|bash|*].
I did some assembler at University - enough to get an understanding of it. I now know what assembler is, and roughly what developing in it is like. I also know that I'll never use it for 99.999% of my life, for the same reason I don't set out to make a table by glueing together splinters. Sure, I might get a really beautiful table, with edges precise down to the micrometre, but frankly precision to the millimetre is good enough for the current job, and I don't have ten years to spend knocking out one table.
If you want to get into an area where assembler is useful (like, say, embedded software development), then you'll learn it in order to do so. You even provide the example yourself that people were quite happy to learn it to learn video card shader programming, when it was necessary.
Of course, we all know there aren't any real programmers left, anyway...