Quote of the week
Posted Mar 24, 2011 3:02 UTC (Thu)
by sciurus (guest, #58832)
[Link]
Posted Mar 24, 2011 17:29 UTC (Thu)
by pflugstad (subscriber, #224)
[Link] (2 responses)
Posted Mar 24, 2011 22:08 UTC (Thu)
by rwmj (subscriber, #5474)
[Link] (1 responses)
Functional programming (in broad terms) separates data structures from code that operates on those structures. The code is in one place and follows a simple flow of control -- for example if a function is called, it's clear at compile time which function is being called.
I'm speaking from experience here. It took me a long time when learning ML and OCaml to unlearn bad OO habits, but I now consider myself a much better programmer as a result, and tend to pity people still stuck in OO paradigms (except in some very narrow cases where the OO paradigm works).
Rich.
Posted Mar 25, 2011 13:48 UTC (Fri)
by scripter (subscriber, #2654)
[Link]
As I reflect on my journey of learning to program, I started with TI 99 BASIC, PET BASIC, and GW BASIC. I transitioned to Pascal, then C. No object oriented concepts there. OO languages came later, as did Scheme.
----
Regarding professional programming, my perception is that the programming language matters far less than the tools, the instrumenting, the libraries and the people writing the code, and their ability to solve real world problems.
Posted Mar 26, 2011 18:23 UTC (Sat)
by Tobu (subscriber, #24111)
[Link] (1 responses)
It's amusing to see this next to the Django 1.3 release announcement, which introduces class-based views.
The Pylons lead developer has argued that exposing the Pylons classes to inheritance exposed too much of the implementation, and prevented him from making some necessary evolutions to the framework. It's a big reason Pylons 1.0's successor, Pyramid, is mostly based on repoze.bfg (with zope-style components under the hood).
Posted Mar 26, 2011 22:33 UTC (Sat)
by maney (subscriber, #12630)
[Link]
And I still haven't migrated any of the views in the application I'm working on, which was the original motivation for all that. Sometimes that sort of thing makes you see your own code in a new light, and I've been doing a lot of refactoring, cleaning it up. And while that has seen one group of tightly-interacting functions get turned into class methods, none of the actual views have, and I'm starting to wonder if doing so is even a good idea. Asking myself that question, OTOH, has already been good for the codebase.
The report on their new curriculum is an interesting read. Non-majors who want to take a single CS course will take one the emphasizes "computational thinking" and uses a scripting language (likely Python). CS majors will have to take classes in imperative (a subset of C) and functional (Standard ML) programming before taking the data structures and algorithms course. Non-majors who want to take multiple CS courses (e.g. engineers) can just take just the imperative programming course as their prerequisite for upper-level courses.
Quote of the week
Quote of the week
Quote of the week
Quote of the week
Quote of the week
Quote of the week