On 20/12/13 07:41 PM, Aemilianus Kehler wrote:
Good price for a language plaqued with vulnerabilities :p
Thanks for trolling with your tongue out. :p
We sort of earned it. First we put out a very wide open call for
expressions of interest and got a lot more responses from people like
yourself who already have a programming background who are looking for
something more topical (which we invited).
Python* (my favourite!), got the most mentions.
But, Sara and I always had a bias for starting with a beginner course
though. Our chat with Brittany and Alex on Tuesday convinced us ignore
the feedback out of a sense that half the members and a large amount of
non-members out there don't have any formal programming background and
are ready to try a small course in it.
(even though Alex and Brittany themselves would also like something more
topical)
Help us scratch our itch to start with beginner material by bringing the
neophytes you know to us.
Once we've done that we'll be a little more confident in our teaching
abilities and move on to offering something more specific to existing
programmers (probably python).
Such a future course will be more appealing to those of you advanced
enough to understand that embedding a special "sandboxed" programmable
environment in a web browser (e.g. Sun/Oracle Java, Direct X, Adobe
Flash, Adobe Acrobat, Microsoft Silverlight...), regardless of what
programming language is involved is a bad idea.
Thank Guido that nobody ever tainted Python's reputation by "sandbox"
embedding it into a web browser and popularizing it as a
"must-download!" to turn it into the first (bad) impression of Python
for the masses.
I think Sara was just a little sensitive to your troll attempt getting
this all off to a bad start, see:
http://www.popsci.com/science/article/2013-09/why-were-shutting-our-comments
New programmers don't understand the distinction between
language, standard libraries, execution environment (web browser
"sandbox"), and independent implementations thereof. To those not versed
in the distinction, it isn't obvious that the core java language and
minimal use of standard libraries (stdio) used in a beginner programming
course are unrelated to the epic security fails of web browser sandboxes.
Your troll makes me laugh, but I worry that some newbies are going see
it and ask if they should really start with the bad java language that
everyone (me included) loves to hate.
And, I don't think new programmers truly appreciate the idea that choice
of first language doesn't matter until they actually move on to their
second language and discover how much knowledge about programming they
are taking with them. The word "language" contributes somewhat to this,
human languages are very hard to learn after puberty -- an epic struggle
to learn French as an adult is only going to help you a little when you
move on to tackling Mandarin.
Even learning a new programming paradigmn is an easier leap.
Which brings me to the Python* note I had above.
If I ever teach a course using Python, it will be called "everything you
should be doing with list comprehensions, generator expressions,
dictionary comprehensions, and set comprehensions".
You aspiring pythonists shouldn't wait for that. Go off and read about
these. You can find them spread out in the standard python2 and python3
tutorials
http://docs.python.org/2/tutorial/
http://docs.python.org/3/tutorial/
or look at this introduction:
http://www.diveintopython3.net/comprehensions.html
Here's a simple example from my successful efforts to crack Ian's
Bitcoin encryption password:
https://gist.github.com/markjenkins/7036740
I wrote:
def is_all_ascii(plaintext):
# 2 ** 7 meaning, only first 7 bits used, e.g. < 128
return all( ord(char) < (2**7) for char in plaintext )
Instead of:
def is_all_ascii(plaintext):
for char in plaintext:
# 2 ** 7 meaning, only first 7 bits used, e.g. < 128
if ord(char) >= 2**7:
return False
return True
_______________________________________________
SkullSpace Discuss Mailing List
Help: http://www.skullspace.ca/wiki/index.php/Mailing_List#Discuss
Archive: https://groups.google.com/group/skullspace-discuss-archive/