Where Programming Languages Fall on Autism Spectrum

Page 1 of 2 [ 19 posts ]  Go to page 1, 2  Next

Comp_Geek_573
Veteran
Veteran

User avatar

Joined: 27 Sep 2011
Age: 39
Gender: Male
Posts: 699

15 Dec 2013, 6:37 pm

If most people on Wrong Planet tend to take things literally but can still tell what others "mean" by stuff if they make minor logical errors (or simply keep messages short), then a computer has virtually NO ability to do this. The ultimate in taking things literally, if you will.

That being said, different programming languages do seem to vary in their "autism" level! Take QBasic, for instance. I played around with this A LOT when I was a child. I consider it the least "autistic" of the languages I've used. The language would do helpful things like set variables to zero by default if not initialized, assign data types that "make sense" and automatically allocate/free up memory. Plus the development environment would helpfully give proper spacing, capitalization, and so forth. These, however, limit the computational efficiency of the program.

A step up from this would probably be the C family of languages. In terms of "autism", C# < C++ < C. My favorite thing about C# is the garbage collection: I still don't have to worry about allocating/freeing up memory. Nonetheless, the leap from BASIC to the C family means I now have to make sure to explicitly define and initialize variables, use semicolons at the end of every line, explicitly define all data types, distinguish between logical and bitwise AND/OR, etc. C++ loses the garbage collection but still leaves many convenient methods and functions lost with plain C (which my most difficult CS course by a longshot worked with.)

I'm sure many here have used other languages like Perl, Python, Ruby, Lisp, etc. Where would you guys say those fall? And why?

Probably the most "autistic" would be assembly language. Pure procedure where you give instructions directly to the CPU. Difficult, but efficient. I managed a perfect score on a CS mini-project involving MIPS assembly (that I waited till the day it was due to start lol.) Binary code gets into the analogue of individual brain neurons firing...

Oh, and correct me if I'm wrong about anything I said above. It'll be useful to know when going to a job interview...


_________________
Your Aspie score: 98 of 200
Your neurotypical (non-autistic) score: 103 of 200
You seem to have both Aspie and neurotypical traits
AQ: 33


yournamehere
Veteran
Veteran

User avatar

Joined: 22 Oct 2013
Gender: Male
Posts: 1,673
Location: Roaming 150 square miles somewhere in north america

15 Dec 2013, 9:23 pm

wow!! ! you're really into that stuff... sounds like you know ALOT about the subject, and can go really far with it. I have no idea at all what you are talking about. weeeeeeeeeeeeeeeeeee!! !! !! ! you are the master of your own.... thing. you should get in with those guys who do that.... thing.... weeeeeeeeeeeeeeeeeeeee!! !! ! thats great!! !



AspieWolf
Veteran
Veteran

User avatar

Joined: 25 Apr 2010
Age: 78
Gender: Male
Posts: 657
Location: Out of my mind. Back in 10 minutes.

15 Dec 2013, 9:28 pm

What!! Do you really mean that there are more programming languages besides Fortran IV??? I can't believe it. Why would anyone bother with anything else? :D

OK, Fortran IV is my milk language from way back in the early 1960's when I was working with IBM computers that used punch cards for input and filled an entire LARGE room and used unbelievablely huge amounts of power. Sigh! Those were the good old days. BTW I use Python these days and run Ubuntu Linux.


_________________
"A man needs a little madness...or else...he never dares cut the rope and be free."
Nikos Kazantzakis, ZORBA THE GREEK

Some of us just have a little more madness than others!


BobinPgh
Deinonychus
Deinonychus

User avatar

Joined: 5 Apr 2012
Gender: Male
Posts: 352

15 Dec 2013, 10:42 pm

According to the Spaceship Earth lady at Epcot whose voice makes my skin crawl, we had to learn a new language not spoken by people, but by machines. Start video at 4:35.

[youtube]http://www.youtube.com/watch?v=1QmOhvL4seE[/youtube]

[Mod. edit: video corrected. Please embed videos using the BBCode [youtube] SomeVideoURL [/youtube] tag pair, or just click on the YouTube button in the edit window and paste the URL]



Last edited by BobinPgh on 15 Dec 2013, 11:09 pm, edited 1 time in total.

Fnord
Veteran
Veteran

User avatar

Joined: 6 May 2008
Age: 67
Gender: Male
Posts: 59,883
Location: Stendec

15 Dec 2013, 10:58 pm

a. Only humans can be on the autism disorders spectrum.
b. Programming languages are not human.
: : Programming languages can not be on the autism disorders spectrum.



ruveyn
Veteran
Veteran

User avatar

Joined: 21 Sep 2008
Age: 87
Gender: Male
Posts: 31,502
Location: New Jersey

16 Dec 2013, 9:41 pm

Fnord wrote:
a. Only humans can be on the autism disorders spectrum.
b. Programming languages are not human.
: : Programming languages can not be on the autism disorders spectrum.


True. But people on the spectrum can prefer using some languages more than others.

ruvey



Abstract_Logic
Veteran
Veteran

User avatar

Joined: 3 Dec 2008
Gender: Male
Posts: 580
Location: Here

18 Dec 2013, 8:54 pm

I like the analogy you made between Autism and the characteristics of programming languages. I am currently a student of computer science. Next semester I'm taking Programming II (which is the second course in the CS core sequence), and Discrete Structures, which covers topics like algorithms, combinatorics, logic, sets, and some Number theory. The only languages I'm familiar with at the present time are Java (which is taught in Programming I and II at my university), bash shell script (which I have picked up from using GNU/Linux and other UNIX-like systems), and I'm familiar enough with web development languages like HTML and CSS that I'd be able to understand the source code of a web page, as well as able to build my own from scratch, so long as I have some kind of reference material. I am very fascinated by computer languages and operating systems; someday in the near future I hope to be knowledgeable enough to make substantial contributions to open source projects, and eventually become a master/guru of programming languages. :D


_________________
Autistic (self-identified)
Open source, free software, and open knowledge geek
GoLang, Python, & SysAdmin aspirant
RPG enthusiast
Has OCD, social anxiety, CPTSD


Tori0326
Toucan
Toucan

User avatar

Joined: 12 Mar 2011
Age: 52
Gender: Female
Posts: 293

22 Dec 2013, 1:42 am

I think I get your drift on what you're asking...

Some languages are more rigid in syntax than others. I think the older languages tend to be more "autistic" in this respect while the newer languages are a little more laid back. I just took a php class and thought it was less "autistic" because things like IF statements weren't followed by THEN and END IF...they were implied by the brackets. Right now I'm teaching myself Javascript for a project at work and that also seems less explicit. I plan to move onto Python shortly and I've heard that's pretty easy to learn. I assume it's a less "autistic" language. The C languages are probably more on the "autistic" side as my boss and co-worker have said to work up to C as an ultimate goal.

On the other hand it may actually be easier for us. I'm considered the resident SQL expert at work and aced it in school while many classmates struggled. I think it's incredibly easy and don't know why people seem to have problems understanding it.



wbport
Sea Gull
Sea Gull

User avatar

Joined: 16 Sep 2012
Gender: Male
Posts: 220

28 Dec 2013, 9:25 pm

Most of my career was as a COBOL programmer although I did a lot in assembler as well and later learned C. My ISP allows its subscribers to build hobby websites and I have dozens of pages (html, javascript, some css) to support other hobbies. I have added a lot to a mortgage loan page early in a primer since I knew the math behind it already.



olympiadis
Veteran
Veteran

User avatar

Joined: 20 Jun 2014
Gender: Male
Posts: 1,849
Location: Fairview Heights Illinois

30 Apr 2015, 11:59 am

Comp_Geek_573 wrote:
If most people on Wrong Planet tend to take things literally but can still tell what others "mean" by stuff if they make minor logical errors (or simply keep messages short), then a computer has virtually NO ability to do this. The ultimate in taking things literally, if you will.

That being said, different programming languages do seem to vary in their "autism" level! Take QBasic, for instance. I played around with this A LOT when I was a child. I consider it the least "autistic" of the languages I've used. The language would do helpful things like set variables to zero by default if not initialized, assign data types that "make sense" and automatically allocate/free up memory. Plus the development environment would helpfully give proper spacing, capitalization, and so forth. These, however, limit the computational efficiency of the program.

A step up from this would probably be the C family of languages. In terms of "autism", C# < C++ < C. My favorite thing about C# is the garbage collection: I still don't have to worry about allocating/freeing up memory. Nonetheless, the leap from BASIC to the C family means I now have to make sure to explicitly define and initialize variables, use semicolons at the end of every line, explicitly define all data types, distinguish between logical and bitwise AND/OR, etc. C++ loses the garbage collection but still leaves many convenient methods and functions lost with plain C (which my most difficult CS course by a longshot worked with.)

I'm sure many here have used other languages like Perl, Python, Ruby, Lisp, etc. Where would you guys say those fall? And why?

Probably the most "autistic" would be assembly language. Pure procedure where you give instructions directly to the CPU. Difficult, but efficient. I managed a perfect score on a CS mini-project involving MIPS assembly (that I waited till the day it was due to start lol.) Binary code gets into the analogue of individual brain neurons firing...

Oh, and correct me if I'm wrong about anything I said above. It'll be useful to know when going to a job interview...



I gravitated straight to assembly language when I was 14.
It suited me perfectly.



Kiriae
Veteran
Veteran

User avatar

Joined: 30 Mar 2014
Age: 35
Gender: Female
Posts: 2,349
Location: Kraków, Poland

30 Apr 2015, 3:40 pm

<the message is purely sarcastic and uses stupid stereotypes, my point isn't to offend anyone>

I know some HTML, CSS, JS, PHP and MySQL.

HTML his best friend CSS are NTs. They can understand a lot of words and you can talk with them using many different commands, even complex ones. But don't expect anything too deep. They will answer correctly to what they know and lie about what they don't know. They will never admit they are wrong.

JS and PHP are HFA and aspie. They share the same communication style. Both accept some variations of commands and can give you quite impressive results due to their high intelligence.

Unfortunately a wrong command can lead JS to a shutdown state. Your browser is going to freeze while your HFA program is fixating about the command, ignoring everything else.

PHP will use it's special interest when such problem occurs. In effect it is going to point out all of your mistakes and tell you what it expects. You might have trouble understanding the message though.
PHP's special interest also gives it the ability to translate between autistic MySQL and NT HTML.

MySQL is a LFA. It needs exact command, word by word, dot by dot even for the simplest tasks. For example to get it to show you a column you need to list all the stuff you want to know -one by one- and point out where it can find the column. Do a single mistake and it is going to inform you you need to follow the manual. After that it becomes echolalic and repeats the whole sentence it doesn't understand.



iliketrees
Veteran
Veteran

User avatar

Joined: 16 Mar 2013
Gender: Female
Posts: 2,155
Location: Earth

01 May 2015, 9:26 am

The language I'm most familiar with is Lua, which (I think) is a type of C implementation language or something along those lines, I have no idea what I'm talking about. So I suppose it'd be rated similarly to the C ones.



Rocket123
Veteran
Veteran

User avatar

Joined: 15 Dec 2012
Age: 61
Gender: Male
Posts: 2,188
Location: Lost in Space

01 May 2015, 11:37 am

As I think about it, it is much easier to communicate with a computer (via a programming language) than another human being. The communication with a computer (via a programming language) is 100% logical and there is never any ambiguity.



iliketrees
Veteran
Veteran

User avatar

Joined: 16 Mar 2013
Gender: Female
Posts: 2,155
Location: Earth

01 May 2015, 12:10 pm

Rocket123 wrote:
As I think about it, it is much easier to communicate with a computer (via a programming language) than another human being. The communication with a computer (via a programming language) is 100% logical and there is never any ambiguity.


So little of communication is made up of exactly what you say, whereas all of programming languages are. I do like that. The rules are certain. Social rules are complex.



olympiadis
Veteran
Veteran

User avatar

Joined: 20 Jun 2014
Gender: Male
Posts: 1,849
Location: Fairview Heights Illinois

01 May 2015, 1:56 pm

Rocket123 wrote:
As I think about it, it is much easier to communicate with a computer (via a programming language) than another human being. The communication with a computer (via a programming language) is 100% logical and there is never any ambiguity.


They lack uncertainty. Uncertainty is one of the primary fuels of the hive-mind algorithms. It creates the need for more code.



jayjayuk
Deinonychus
Deinonychus

User avatar

Joined: 15 Apr 2014
Age: 39
Gender: Male
Posts: 387

02 May 2015, 2:33 pm

I've used a number of languages over the years, some I've struggled with, others are a breeze.

It took me a LONG time to learn C. A very long time. I started looking at C about 6 years ago, and kept trying to learn it, but just couldn't grasp pointers, couldn't really understand strongly typed languages and why I needed to give every variable a type. I do now, but it took a while. The K&R book needs a mention too :p

But over the years that got easier, because once I started learning about how a computer actually works, at the virtual memory level, and what the stack and heap are, and how `gets()` can leave your program, and the underlying server, in serious trouble (Buffer Overflow, Remote Code Execution, Heap Spraying). Once I started understanding this, and even understanding ASM then C became very easy.

I started life in HTML, and database modelling (I love modelling databases, I would actually say I'm an expert at it). Then I got into PHP for a very long time. I started learning OOP, and using frameworks such as Symphony. I started adopting TDD, and the DRY principles and everything started "clicking" into place.

I have also spent a couple of years with C#, but when I ditched Windows for Linux, I started loving Python.

Out of them all, Python is my personal love. I can do a lot of prototyping very quickly in Python. I create a lot of unix scripts in Python and rely on many of them. It's never let me down for what I need it for.

I'm one of these people that HAS to know everything. It's like my personal goal to think like a computer. It's fascinating when you learn and practice exploiting at the lower levels, and being able to manipulate the computer at those levels.

I use an N900, and I do a lot of 802.11 testing out and about. I like to force peoples iPhones to connect to my phone which is set up as a rouge AP. I catch their probe requests for wifi, and pretend to be that access point. Their phone connects. Then it sends out lots of Facebook and Twitter requests from the apps, my phone catches them, and replays them but instead forcing you to like a Facebook page without you even knowing. Or updating your Facebook status with a picture of your current location and freak you the hell out :) These are the ideas I have in my head, and I like to turn them into reality.

Note: On your phone, turn off the preferred wifi networks. The phone stores those wifi networks so when you are in your house for example, your phone will connect to the wifi for you. But, when you leave the house your phone is still saying "Hey, is HOME_WIFI here?". It will send about 10 per second. This is normal behaviour. But, I can catch that request with my phone and say "Hey iPhone, yes I'm HOME_WIFI". You're phone connects thinking it's HOME_WIFI, and your apps such as Facebook start getting all the recent gossip to pop up on your phone. All those requests are passing through my phone. I can tamper with them. I can see them, and for the geeks around, yes you can even get around HTTPS. And if I were a rouge hacker, I'd be able to send your phone a firmware upgrade and have complete control over it.

But yeah, I'm going on a bit to much. TURN OFF YOUR PREFERRED WIFI NETWORKS! is the moral of the story.

It's all for fun and games though. I like to prove to people that these "smart" devices are not safe.

My skills actually landed me in prison. I used them the wrong way.