Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
So , I want to ac tua l l y " l ea rn" a programming l anguage , ra the r than con t inue
hack ing th ings toge the r f rom ex i s t i ng code . Prob lem i s , I can ' t dec ide which
one , or how to go about i t . I t r i ed l ea rn ing to code back be fo re Mac OS X by
buy ing a book on l ea rn ing to prog ram i n C f o r the Mac . I d idn ' t get th rough
the book then , but I 'm wi l l i ng to g ive it anothe r sho t now.
Some of the l anguages I ' ve cons ide red are :
Ob jec t i ve - C
C++
PHP
Py thon
I rea l i ze some o f these l anguages are pre t ty d i f f e ren t . I ' l l s ta r t wi th why I
cons ide red the above l anguages .
Ob jec t i ve - C, C++
My p la t fo rms o f cho i ce are Mac OS X and L inux . I need someth ing tha t i s
eas i l y t rans fe rab le f rom one p la t fo rm to the othe r . I 'd l i ke the ab i l i t y
mak ing graph i ca l app l i ca t i ons f o r both . Cod ing f o r Windows i s not a pr i o r i t y
for me, but be ing ab le to do more is never bad , of course .
I 'm l ook ing at Ob jec t i ve - C because i t ' s App le ' s pre fe r red l anguage f o r Mac
OS X and XCode seems des igned f o r i t , though I unders tand i t a l so works
we l l wi th some othe r l anguages . The n i ce ly i n teg ra ted , f ree ly ava i l ab le ,
Ob jec t i ve - C ready App le too l s are a n i ce p lus f o r the l anguage , howeve r .
But , I 'm not su re how por tab le or t rans fe rab le th i s wou ld be to L inux . That ' s
why I ' ve a l so cons ide red C++. Of course , the d i f f e rences between the two
l anguages I unders tand are minor , as they both sha re the bas i c C l anguage
se t . I 'm not su re about the d i f f i cu l ty here . Some peop le seem to f i nd the
l anguage d i f f i cu l t .
PHP
PHP seems a s imp le r l anguage to l ea rn , and I f i nd i t ' s se rve r /web emphas i s
very use fu l . I ' ve o f ten hacked PHP sc r ip t s qu i te e f fo r t l e ss l y to do what
need , even though I do not "know" PHP. To me, th i s h igh l i gh ts the power o f
s imp l i c i t y tha t PHP o f fe r s . I wou ld de f in i te l y l i ke to be ab le to wr i te so
s imp le web apps us ing PHP.
But aga in , I am a l so very i n te res ted i n wr i t i ng desk top apps f o r Mac OS X
and L inux . I n f ac t , I wou ld l ove to be ab le to make c l i en t / se rve r apps , one o
a se rve r ( f o r examp le a photo ga l l e ry sc r i p t ) and one on the desk top to
i n te rac t wi th the f o rmer (pos t ing a photo ga l l e ry to a web s i te us ing the
desk top app c l i en t ) .
Py thon
I unders tand th i s l anguage a l so has l e ss comp lex syn tax f o r a beg inner to
p i ck up , and tha t i t i s used on the desk top , but I don ' t know a who le l o t
about it.
Other Languages
I know a l l the rage i s about Ruby on Ra i l s now as f a r as web programming ,
but I f i nd tha t the l anguage i s too new, and I pre fe r someth ing more
es tab l i shed , wi th more too l s and suppor t ava i l ab le . There might be othe r
good cand ida te l anguages I ' ve missed , though .
Uses
I 'd l i ke to be ab le to wr i te a desk top to web photo ga l l e ry , as per my
prev ious examp le , f o r i n s tance . I ' d a l so l i ke to be ab le to wr i te someth ing
ak in to a word processo r , or a f i le browse r .
so assuming you pass those two tes t s , we come onto your ques t i on o f wh ich
l anguage to go f o raga
. in th i s i s j u s t my persona l tuppence wor th based on
be ing in the same boat as yourse l f a f ew years back :
javascript - starting to come into its own now, with the advent of ajax.
javascript also has a similar syntax to C and PHP, although i've always found
it a bit less forgiving of errors and harder to debug than PHP. its use outside
the web environment is a bit limited, although i've come across the odd bit
of javascript in other things like flash movies and some desktop apps which
do web stuff.
actionscript - you may not have thought of this one, or not see it as relevant
but dinnae dismiss it out of hand. over the years flash has gone way
beyond being a means to add boring annoying banner ads and pointless
animation to websites and can be used to build some traditional app-like
creations. actionscript has also changed beyond recognition and the syntax
is now pretty similar to PHP and javascript [and by extension C]. again, with
ac t i onsc r ip t you can [ th rough f l a sh ] bu i ld someth ing qu ick l y and then work
on add ing sc r ip t i ng to i t and tweak ing i t , ra the r than spend ing a l l your t im
get t i ng someth ing to run i n the f i r s t probab
p lace . ly a good p lace to s ta r t i f
you ' re th ink ing about t ry ing your hand at bu i l d ing a game o f some so r t .
as rega rds c rea t ing desk top apps , f l a sh has bu i l t i n secur i t y which preven ts
i t f rom wr i t i ng f i l e s to your compute r , but you can ove rcome these i n var i ous
ways , so i n theory i t wou ld be poss ib le to produce a proper desk top app i n
f l a sh /ac t i onsc r ip t .
app lesc r ip t - anothe r o f the cho i ces un ive rsa l l y recommended f o r beg inners
and [ as wi th l i ngo above ] tou ted f o r i t s ' eng l i sh - l i ke ' syn tax . as wi th l i ng
jus t cannae get my head round i t at i a ldon
l . 't know what i t is about
app lesc r ip t , but any t ime i ' ve t r i ed to use i t , i t ' s l i ke sw imming i n t rea
t ry ing to get the f eck in ' oh - so - s imp le ' syn tax to ac tua l l y comp i le wi thou t
er ro r s . on the p lus s ide , wi th app lesc r ip t s tud io , you can make f u l l y
f unc t i ona l OSX desk top apps us ing app lesc r ip t , so i f tha t k ind o f syn tax su i t s
you , i t might be wor th a l ook . o f course the amin drawback wi th app lesc r ip t
l i e s i n i t s comp le te l ack o f use fu lness outs ide o f OSX, so i f c ross - p la t fo
compat ib i l i t y is h igh on your l ist of pr io r i t i e s , i t 's a non - s ta r
ac tua l l y th i s seems to be an a l l - too - common prob lem i ' ve f ound when t ry ing
to l ea rn any o f the prog ramming l anguages i ' ve t r i ed over the
theyears
re .
seems to be a mounta in o f documenta t i on and tu to r i a l s at the " th i s i s a
number and th i s i s a mul t ip l i ca t i on s ign . . . " l eve l and a s im i l a r heap at th
advanced l eve l , but very l i t t l e good use fu l i n fo f o r someone who ' s k ind o f OK
wi th hack ing about , but wants to l ea rn how to do it proper l y.
and l as t but not l eas t [ and one you d idnae ment ion ] . . .
one other point in favour of java - there seem to be a lot of jobs about for
java programmers.
well, there's my 'brain dump' - decisions... decisions... eh?
madra at work | madra at play
This post was edited on 2007-10-08, 22:40 by madra.
I think I started with BASIC. Then PASCAL. A bit of Fortran. Some Visual
Basic. Applescript. All much the same in a way.
I personally like Ruby because it's cooler than Python, but there are really
rather similar. Some interesting reading on the ruby vs python thing. With
ruby you can almost guess the commands.
Whatever you learn from one language will be useful for another language.
And you'll always have to program in different languages anyway depending
on what you are working with / aiming to do. There is no right answer
Sometimes up, sometimes down -->
by no s t re tch o f the imag ina t i on wou ld i desc r ibe myse l f as a pro fess iona l
prog rammer but , th rough a l o t o f pu l l i ng th ings apar t and read ing the odd
tu to r i a l here or h in t the re i ' ve managed to e leva te myse l f to the s tage where
i ' d c lass myse l f as a semi - competen t hobby i s t and ac tua l l y now earn a f a i r
whack o f my f ree lance i n come f rom prog ramming these days [mos t l y f o r
f l a sh ] .
even be fo re you s ta r t . . .
if you ' re go ing to do prog ramming , you need to have an unders tand ing o f
maths . i d innae mean you need to be ab le to so lve quadra t i c equat i ons i n
your head [ o r even know what they are]! but you need to have bas i c
h igh - schoo l numeracy ; precedence , square roo ts , squar ing , negat i ve
numbers and yer bas i cs l i ke mul t i p l i ca t i on and d iv i s ilon
oadsetco. f
s i tua t i ons wi l l come up where you 've got a prob lem to so lve which i s easy to
exp ress i n eng l i sh [ eg today
" is a sunday?" ] but you ' l l need to be ab le to
suss out how exac t l yyou wou ld work th i s out - which usua l l y i nvo lves some
k ind o f mathemat i ca l shenan igans .
i n tandem wi th the above - you need to have a l og i ca you
l mind
need
. to be
ab le to take a prob lem and break i t down i n to the sma l l es t poss ib le l og i ca l
s teps and then prob lem so lve each o f those i nd i v idua ltos teps
re fe.r back
to the above theo re t i ca l ques t i on " i s today a sunday" you might come up
wi th someth ing l i ke :
I am not par t i cu la r l y mathemat i ca l l y i nc l i ned , and i n f ac t , I l oa the Math
c lass . But I ' ve f ound tha t the c lass room s i tua t i on i s qu i te d i f f e ren t f ro
s i t t i ng i n f ron t o f your compute r . I usua l l y have some i dea o f how to so lve a
prob lem mathemat i ca l l y , so I can usua l l y j u s t l ook up the i n fo or f o rmu la I
need . I n f ac t , I have grea t respec t f o r mathemat i cs , and I ' ve f ound some
mathemat i ca l top i cs i n te res t i ng . I t ' s j u s t the prac t i ce and repe t i t i on needed
to re ta in the necessa ry deta i l s to use i t tha t I rea l l y d i s l i ke . I don ' t
l og i ca l th ink ing is an i s sue for me.
Agree wi th you the re 100%. That ' s why I d idn ' t even ment ion J ava .
Quote by i 5m:
I don ' t th ink i t mat te rs what you s ta r t to l ea rn wi th . Lea rn ing any l anguage
he lps . J u s t p i ck and s ta r t and move on .
I can apprec ia te the i dea beh ind tha t ; I can be qu i te i ndec i s i ve somet imes . . .
th ink . But , se r i ous l y , I do cons ide r th i s an impor tan t dec i s i on !
Quote by i 5m:
I persona l l y l i ke Ruby becausecooler
i t ' s than Python, but there are really
rather similar. Some interesting reading on the ruby vs python thing. With
ruby you can almost guess the commands.
Ruby definitely seems like the up-and-coming language. But, Python is not
anywhere near dead, is faster and seems a bit more mature than Ruby at
this point. Besides that, and perhaps most importantly, I already know a
project I'd like to take a look at written in Python-- the Sugar GUI. Python
even has the original Benevolent Dictator.
BTW i5m, that book you linked me to.... I read through some of the
examples and explanations, and it looks like a good starting book, but the
author went way overboard with the jokes, cartoons and off-topic material
throughout. And I think he's a little nutty, too.
madra (Administrator) 2007-10-15, 19:30 #5 User title: chairman of the
bored
since Feb 2006 · 2318 posts · Location: the intarweb
Group memberships: benevolent dictator, co-owner, hardcore appletalker,
scrapbook monkey
Show profile · Link to this post
Quote by Gamoe:
...BTW i5m, that book you linked me to.... I read through some of the
examples and explanations, and it looks like a good starting book, but the
author went way overboard with the jokes, cartoons and off-topic material
throughout. And I think he's a little nutty, too...
i think i can safely assume without checking the link, that the book is the
legendary 'why's poignant guide...'
I already downloaded and printed the Python Tutorial from the main site,
written by Python's creator. I might also check out the newest version of
Learning Python, just released this month (coincidence or part of the cosmic
plan??). I think I'm going to do most learning on my Linux box, seeing as
Ubuntu has the latest up-to-date Python version, where Apple is a little bit
behind. Still, Leopard should bring the latest version, and it looks like
switching between Linux and Mac OS X for Python programming should be a
breeze thanks to the UNIX-y underpinnings both share.
Also, a user on a another forum gave me this most interesting link, and it
looks like Apple is continuing to improve its support for Python and other
popular languages:
Quote by Apple:
Scripting Bridge.
That shou ld be good news f o r those Ruby use rs out the re , too . . .
ht tp : / /www.app le ta l ke r . com/ fo rum/ index .php? req=th read& id=1018