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 
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.

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. 

 
 
 
 


917 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.




 

1957 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.

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.


1369 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

 


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



Twitter and LinkedIn »



Follow us to receive Twitter updates when new discussions are posted in our forums:



Follow us to receive Twitter updates when news items and blogs are posted in our frontpage:



Follow us to receive Twitter updates when tech item prices are listed in our price comparison site:





News »

Intel expands 10th Gen Intel Core Mobile processor family
Posted 23-Aug-2019 10:22


Digital innovation drives new investment provider
Posted 23-Aug-2019 08:29


Catalyst Cloud becomes a Kubernetes Certified Service Provider (KCSP)
Posted 23-Aug-2019 08:21


New AI legaltech product launched in New Zealand
Posted 21-Aug-2019 17:01


Yubico launches first Lightning-compatible security key, the YubiKey 5Ci
Posted 21-Aug-2019 16:46


Disney+ streaming service confirmed launch in New Zealand
Posted 20-Aug-2019 09:29


Industry plan could create a billion dollar interactive games sector
Posted 19-Aug-2019 20:41


Personal cyber insurance a New Zealand first
Posted 19-Aug-2019 20:26


University of Waikato launches space for esports
Posted 19-Aug-2019 20:20


D-Link ANZ expands mydlink ecosystem with new mydlink Mini Wi-Fi Smart Plug
Posted 19-Aug-2019 20:14


Kiwi workers still falling victim to old cyber tricks
Posted 12-Aug-2019 20:47


Lightning Lab GovTech launches 2019 programme
Posted 12-Aug-2019 20:41


Epson launches portable laser projector
Posted 12-Aug-2019 20:27


Huawei launches new distributed HarmonyOS
Posted 12-Aug-2019 20:20


Lenovo introduces single-socket servers for edge and data-intensive workloads
Posted 9-Aug-2019 21:26



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.