Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.


View this topic in a long page with up to 500 replies per page Create new topic
1 | 2 | 3 
1080p
1332 posts

Uber Geek
Inactive user


  #808106 30-Apr-2013 16:46
Send private message

Elpie:
Noodles: 
- PHP is easy to pick up and used in a lot of open source software so it's easy to find examples.


This is probably the best argument around for avoiding teaching PHP. Finding good code is a bit like trying to find the proverbial needle in a haystack. 

Anyway, back to the second question...
I started with GWBasic then PERL. From there it was an easy jump into PHP. 


It sounds like you're saying open source software is low quality.

Elpie
1304 posts

Uber Geek


  #808158 30-Apr-2013 18:12
Send private message

1080p:
Elpie:
Noodles: 
- PHP is easy to pick up and used in a lot of open source software so it's easy to find examples.


This is probably the best argument around for avoiding teaching PHP. Finding good code is a bit like trying to find the proverbial needle in a haystack. 

Anyway, back to the second question...
I started with GWBasic then PERL. From there it was an easy jump into PHP. 


It sounds like you're saying open source software is low quality.


No, not at all. PHP is very forgiving and, in my experience, going through the code of any PHP-based open source release you are likely to find code that is good, bad, and all ranges in between.  The advantage of being open source is that poor code and vulnerabilities get many eyes across it and (usually) gets fixed. Whether this makes it good as a teaching aid though... not so sure about that. 

 
 
 
 


TinyTim
934 posts

Ultimate Geek

Trusted

  #808288 30-Apr-2013 22:07
Send private message

Etcman:
Noodles: I think Java is used in universities because it teaches students OOP, but I don't see it used often in the real world. It always annoyed me how universities taught programming (I took a class a couple of years ago), they often taught you about the inner workings of a language and how to implement things like arrays/hash tables/sorting etc, but in the real world you tend to just use what is built into the language (i.e. PHP uses quick sort, so why write your own sorting algo).


I suppose some would argue that university is a place of academics and is not a polytechnic. As a consequence, their intention I guess, is to teach you the subject at its core, rather than what you would likely use in an everyday job. However, knowing the inner workings of a language is more than just getting to know that language better. It's to understand programming at a fundamental level which will aid you in writing your own algorithms (especially helpful if you ever need a modified version of a well known algorithm, say for a performance critical program). Thus, although it seems pointless, it's probably helping you more than you realise and it will definitely help you keep relevant for when new concepts and languages arise in the future.


[off topic...] Universities would LOVE to find a better teaching language than Java. e.g see this: Grace Programming Language.




 

Hammerer
2236 posts

Uber Geek

Lifetime subscriber

  #809666 1-May-2013 16:38
Send private message

A few years ago I got my 10 and 11 year old boys to learn to program so they didn't just play computer games all summer holiday - they never thanked me for it but both want to have IT careers. I chose Python because it was free and flexible: high-level, easy to read, interpreted with a command line, ran on almost anything, supported functional and object-oriented programming styles, works with a wide range of libraries, and it was easy to find free courses and other resources. We used a first year Otago University course.

The worst problem we struck is that Python, like other useful languages, is evolving so backwards incompatibility can affect some resources and courses.

LesF
171 posts

Master Geek


  #820664 16-May-2013 15:52
Send private message

I found a book on Erlang on sale and starting working thru that.  If you want strange and eccentric then have a look.  Probably not for beginners however.

I love C# and do not see this as restricted in any way. In addition to the MS .Net API's and/or Mono, there is a growing selection of libraries and frameworks on the net that help you tackle many areas of commercial and hobby tasks.

If I had my choice (and could find a good paying job with it) I would probably be a lot happier working with Python.  Altho it is an interpreted scripting language and people complain that it is not as fast as C, it has many powerful features and personally I have found more freedom and fun working with Python than with most other languages I have used (in 25+ years of development).  Plenty of web service frameworks and HTML templating tools etc keep Python relevant with the leading edge web-is-everything crowd as well.

Finally, I would suggest that whatever your criteria for selecting the tools to go with, make sure it has a comprehensive debugger, and if you are comfortable both using and showing others how to use the debugger, and you can trace thru in minute detail what is going on with your code, then you will be a lot happier in the long run.


TwoSeven
1464 posts

Uber Geek


  #820924 17-May-2013 07:26
Send private message

Out of interest from time to time when I am mentoring developers I will use the language they are most familiar with (and usually class diagrams using OMT notation), much of it is usually conceptual with an expectation that the developer can figure out the implementation.

However, over time I have found Python to be very good at teaching pure object oriented techniques and C# to be an excelent general teaching language (especially around implementing complex patterns). For conceptual low level stuff I find C++ and C to be quite good and for the really low level things such as what the CPU is doing I find good old assembler to be useful (but its a rare thing these days).

For scripted or interpreted languages there is usually enough info out on the web for people to look up if they need to know how to do something in those environments.

I guess of one was teaching concepts and techniques, I would suggest using the language one is most comfortable with expressing those concepts and techniques in.




Software Engineer
   (the practice of real science, engineering and management)


1 | 2 | 3 
View this topic in a long page with up to 500 replies per page Create new topic





News »

Vodafone enables 5G roaming - for when international travel comes
Posted 30-Oct-2020 15:03


Spark awards funding to Kiwi businesses in 5G funding initiative
Posted 30-Oct-2020 14:58


Huawei launches IdeaHub Pro in New Zealand
Posted 27-Oct-2020 16:41


Southland-based IT specialist providing virtual services worldwide
Posted 27-Oct-2020 15:55


NASA discovers water on sunlit surface of Moon
Posted 27-Oct-2020 08:30


Huawei introduces new features to Petal Search, Maps and Docs
Posted 26-Oct-2020 18:05


Nokia selected by NASA to build first ever cellular network on the Moon
Posted 21-Oct-2020 08:34


Nanoleaf enhances lighting line with launch of Triangles and Mini Triangles
Posted 17-Oct-2020 20:18


Synology unveils DS16211+
Posted 17-Oct-2020 20:12


Ingram Micro introduces FootfallCam to New Zealand channel
Posted 17-Oct-2020 20:06


Dropbox adopts Virtual First working policy
Posted 17-Oct-2020 19:47


OPPO announces Reno4 Series 5G line-up in NZ
Posted 16-Oct-2020 08:52


Microsoft Highway to a Hundred expands to Asia Pacific
Posted 14-Oct-2020 09:34


Spark turns on 5G in Auckland
Posted 14-Oct-2020 09:29


AMD Launches AMD Ryzen 5000 Series Desktop Processors
Posted 9-Oct-2020 10:13









Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.


Support Geekzone »

Our community of supporters help make Geekzone possible. Click the button below to join them.

Support Geezone on PressPatron



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.