Adam Richardson wrote:
On Thu, Jul 29, 2010 at 1:36 AM, Nathan Rixham <nrixham@xxxxxxxxx> wrote:
Hi All,
I find myself wondering about the state of the PHP community (and related
community with a PHP focus), so, here's a bunch of questions - feel free to
answer none to all of them, on list or off, or add more of your own - this
isn't for anything specific, just out of interest and sure I (and everybody
who reads the replies) will learn something + doors/options/contacts may
come of it. The only thing I can guarantee is that I'm genuinely interested
in every reply and will read every one of them + lookup every tech and link
mentioned.
in no particular order:
What other languages and web techs do you currently use other than PHP?
- if you include html or css please include version, if js then preferred
libs, and whether client or server side.
CSS, Javascript (Jquery, mostly), SVG, F#, C#, Java, Clojure, Scala, C,
Objective C, Groovy
On the JS side, just for a radar check, assuming you know of extjs,
jqueryui and commonjs? - also have you looked in to node on the server side?
Good to see you branching out to other languages - somebody once said a
programmer with one language is akin to a joiner with only a hacksaw in
his toolbox (though I may have made that up in a spout of subjective
validation!).
I'm quite interested to know, which of [F#,C#,Scala,Clojure] you'd
recommend one learned/invested some time in to - I've been debating for
some time internally about which *# language to dive in to, and the
Scala vs Clojure decision I find impossible to take!
Out of interested, have you seen or tried M or haskell?
What's your previous language/tech trail?
Started with C++ (I hate it!), then moved on to Java and then to PHP and
then to the others.
interesting how often Java and PHP get mentioned together, it seems most
PHP devs have touched Java at some point recently.
Are you considering any new languages or techs, and if so which?
- names / links
Clojure is beautiful. Google Go is intriguing. Scala is sooo powerful
(but worries me in terms of Perl's syntactic obfuscation.) However, PHP is
practical and sufficient for most of my needs.
Likewise I find the same re PHP, Go slipped past in a flight of fancy,
ECMAScript-262 has my main attention whilst scala vs clojure, see afore
mentioned "I can't decide" reference, any pointers welcome.
I've moved away from Object Oriented Programming practices, and only use
typical OOP practices/patterns when the conventions of a project dictate its
use.
As a programmer, I've fully embraced functional programming (and Aspect
Oriented programming is neat, but I've not used it in a project, yet.)
Interesting, I tend to sway between functional, class based OO and
prototype OO (with some lessons learned from AOP) - I love functional,
but also value the separation of cross cutting concerns one can achieve
with full OO - increasingly liking js style prototype OO which is a
great mix of the two.
Is PHP your hobby/interest, primary development language, just learning or?
I use PHP in a plurality of web projects I'm involved with.
How many years have you been using PHP regularly?
6
How many years have you been working with web technologies?
7
Did you come from a non-web programming background?
Grad school for cognitive psychology (long story)
Is your primary role web developer or designer?
Both (I'm a one-man shop)
How do you find it? especially given you work with local clients, do you
find 'maintenance' is a killer or does an appropriate 'cms' alleviate
much of that? - how many years as a one-man shop if you don't mind me
asking?
Do you tend to work on jobs for geo-local clients, clients in the same
country, or do you work internationally 'on the web'?
Local clients.
How do you get your projects? do they come to you, word of mouth, do you
hunt and bid for projects, code call, visit clients, target clients
individually you think you can help, or?
- not looking for trade secrets, just to get enough for an overall picture.
Word of mouth most often.
Do you have any frustrations with the PHP community, do you find you want
to talk shop but can't, or find people to work with but can't, have projects
in mind you want to do but can't find people to do them with etc?
I very much enjoy working with PHP, and I hope it's able to keep pace with
the other language eco-systems out there. Like it or not, PHP is in stiff
competition with many other languages, and while I thoroughly appreciate the
community, I'm worried that the hype of other languages (Scala, etc.), the
slow adoption of PHP 5.3, and the limited tools (at least relative to the
other langauges) for using the NoSQL data persistence solutions (MongoDB,
Cassandra, etc.) are restricting PHP's potential growth among the new crop
of developers. I have no data to substantiate this worry, however, and the
beautiful simplicity of PHP could still provide the impetus needed to stay
competitive.
Valid points, PHP has a huge strength in numbers, both in supporting
(shared) hosts and in developer+projects - but I also worry that it
doesn't change with the times quick enough, + the core doesn't have the
same hacker + iterative development focus anymore, contrast other
languages which get major functionality added at minor revisions, and
minor revisions every few days/weeks and there certainly is something to
worry about.
This said, perhaps the worry is primarily on a personal basis with
developers loosing time invested in PHP were they to move off to other
languages.
Real worries in the PHP core for me, are the huge ignorance and lack of
native support for HTTP (which is somewhat ironic), lack of support for
NoSQL + RDF tooling, and also support + implementations of the new sets
of webapps APIs.
Overall, the general sentiment of 'if it can be done in userland, let it
be done there' isn't always the best approach (although I understand the
arguments to the contrary) - ultimately though, PHP does feel 'stale'
comparatively.
Are there any efforts, projects or initiatives which are floating your boat
right now and that your watching eagerly (or getting involved with)?
Brushing up on C skills so maybe I can try to create some extensions that
facilitate functional programming approaches within PHP (currying, etc.)
On this note, you might be interested in a little project on git called
Phunctional [1] which... well if you take a look at [2] you'll see :)
[1] http://github.com/KendallHopkins/Phunctional
[2] http://github.com/KendallHopkins/Phunctional/blob/master/Phunctional.php
Best & thanks for taking the time,
Nathan
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php