Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Writing a web app on a sane platform

Name: Anonymous 2007-11-24 17:53

I'm going to write a rather complex web application. I was originally planning to use PHP, but I have come to the conclusion that it sucks dicks.

So now I'm looking to find a saner webdev platform. In addition to PHP, I know Haskell and Python fairly well. I'd love to use Haskell, but I'm not sure what tools for web development are available, and whether any of them are any good. On the other hand, I've heard good things about Python regarding webdev, and presumably I have a wider range of choices and better community support here since Python is quite a bit more mainstream.

Does /prog/ have any experience and/or opinions regarding this? Things I need are basically session handling and database connectivity (MySQL will do, although more generic interfaces are always a plus). A simple template system would be nice too.

PS. Ruby on Fails is not an option.

Name: Anonymous 2007-11-26 4:07

Yeah, use Tubgirl. Sounds good.

Name: Anonymous 2007-11-26 4:53

>>1
If I had to do something for myself, I'd use Python, but I still haven't decided on a framework. On Python, you have all sorts of things, which is both good and bad. Good because you can choose; bad because you have to choose, and the community behind each of them is much smaller than it would be if it were united. That's why Python hasn't kicked PHP's ass yet.

For low-level stuff, I think there's webpy, mod_python, or just doing it all yourself and using bare FastCGIs (then again, the only things you'd need to implement are HTTP handling and session control; the rest is available in the standard Python library or similar). Databases always use the PEP-249 protocol for an interface, but don't think that makes it DB-independent; all DBs require you to use them in a way that's incompatible with others, even if the DB access is abstracted from it.

Then there are weirder stuff, like Quixote or CherryPy.

For Rails-like stuff, I've heard good things about Django and TurboGears.

And finally, Java for Python: Zope. Don't touch it with a 10 metres pole.


>>6,34
")#$(/==/"()$%!/($!%no"/%()#==#&)/%()!"


>>8
>>2 was joking, and you are right not wanting to touch anything with Java.

the language [PHP] itself is utterly horrible
the type system (see Haskell for an example of a proper one)
I don't mind its syntax, but my main gripes with it are, from most infuriating to least:
- The existence of magic quotes, register globals and safe mode, which fortunately can be disabled, except when you have to deal with bullshit code from "web designers" requiring this
- Lack of lexical scoping
- Lack of true first-class functions
- Fucking idiotic OH NOES untrappable fatal error when you define a function that was already defined (motherfucking "designers", why don't they allow function redeclaration, or at least ignore the fucking thing?), and fucking idiotic OH NOES untrappable fatal error when you call a function that doesn't exist (WTF!?).
- Fucking idiotic automatic string/number/whatever conversion; thanks god it at least has a different concatenation and addition operator, otherwise it'd be utter shit like JavaScript; they do this kind of thing for fucking morons and that's why the PHP community is full of them, "web designers". Also, because of this, the forced use of strings as keys for arrays.
- Lack of nested quotes like Tcl's {} or Perl's quote operators
- Object system leaves something to be desired, and it's borrowing bullshit from Java instead of taking it from proper OO languages
- Can't index the result of a function (WTF!?), e.g. can't do f()[0] if f returns arrays.
- Some terrible names in standard library functions ("web designers"); some dangerous functions; and some stupid crap like mysql_real_fuck_yeah_escape_string which "web designers" tend to get wrong
- Single function namespace
- Lack of tail-call elimination

the fact that functional programming concepts are impossible to apply without ugly hacks (no lambdas or first-class functions, and please don't even mention create_function())
Lol, you'd have to see the things I've managed to do with it. Sure, their implementation are all hacks, and there's no syntax for lambdas, so you have to use quotes, and there are no nested quotes, so you may end up like '"\\\\\\"\\\\\\\\'\\\\\\\\\\\\""."\\\\\\\\\\""."\\\\\\\\\\""\\\"', but I have lambdas that are simpler to define and can be used inside each other (unlike create_function), prog1, progn, a flexible apply, partial function application, promises, map, filter, reduce, and I'm currently thinking of a way to implement list comprehensions with as little suckage as possible. Of course, all of this is limited due to the lack of lexical scoping (at best, you can "export" values when constructing expressions, but welcome to quote hell), and the fact you shouldn't create a lambda in an iteration with over 1000 steps.


>>9
C and AJAX FTW


>>12,14
Ha ha ha. Are you new here? We don't like your overnegineered, bloated, ugly, powerless ENTERPRISE crap. We're here for ABSTRACT BULLSHITE, which leads to much less coding time, success and illumination. Java isn't nearly as powerful as a fucking toy Lisp I implemented in 300 lines a few months ago, let alone a serious dynamic or functional language.

Name: 14 2007-11-26 4:58

>>42

I was saging.

Name: Anonymous 2007-11-26 5:21

>>42
(motherfucking "designers", why don't they allow function redeclaration, or at least ignore the fucking thing?)
if (!function_exists('function_name')) { ... }

Redeclaration would be better, though, yeah, especially if it throws an E_NOTICE or whatever.

Name: Anonymous 2007-11-26 10:47

IIS+ASP+VBScript

Name: Anonymous 2007-11-26 18:10

OP here, just wanted to tell you guys that I settled for Django. It looks great so far, and appears to scale quite well, unlike certain other frameworks that are slow as fuck.

Thanks for all the serious replies!

Name: Anonymous 2010-12-23 0:28

Name: Anonymous 2011-02-04 15:51

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List