I'm currently stewing on this for my team as we are not a web shop primarily but are occasionally asked to do small scale web things
When I was younger and less knowing, Django was a sexy proposition because of its batteries-included philosophy, but as time as passed and I have gotten crankier and more opinionated, I see the wild-west wisdom of Ruby and the gem environment where you are charged with sewing together your own system.
I did actually use Django for Real Work, and I found myself spending obscene amounts of time working around Django's limitations like not being able to use a fucking email address as a username (they've fixed that since then, but you get the idea)
I'd honestly love to hear more people's thoughts on this subject. I'm getting to the point where I also need to do a rewrite of our only major customer-facing website and I'm trying to decide between Python (django, flask) or Ruby (rails, sinatra, etc)...
I have a feeling maybe I should stick to PHP (because, Hey, At Least It's Working ™), but goddamn do I hate PHP for being PHP. I love that it's so ubiquitous, and I can use Google to find a solution to nearly any issue I'm having, but <shakes fist at the little, silly parts of PHP that really get to me>
I'm currently stewing on this for my team as we are not a web shop primarily but are occasionally asked to do small scale web things
When I was younger and less knowing, Django was a sexy proposition because of its batteries-included philosophy, but as time as passed and I have gotten crankier and more opinionated, I see the wild-west wisdom of Ruby and the gem environment where you are charged with sewing together your own system.
I did actually use Django for Real Work, and I found myself spending obscene amounts of time working around Django's limitations like not being able to use a fucking email address as a username (they've fixed that since then, but you get the idea)
I'd honestly love to hear more people's thoughts on this subject. I'm getting to the point where I also need to do a rewrite of our only major customer-facing website and I'm trying to decide between Python (django, flask) or Ruby (rails, sinatra, etc)...
I have a feeling maybe I should stick to PHP (because, Hey, At Least It's Working ™), but goddamn do I hate PHP for being PHP. I love that it's so ubiquitous, and I can use Google to find a solution to nearly any issue I'm having, but <shakes fist at the little, silly parts of PHP that really get to me>
My experience has been that Django comes with so much baked in because on a web project of any size you're going to need a lot of it anyway. My personal preference is that I get a bunch of tools designed to work together to create a cohesive unit rather than relying on independent parts which really don't care about each other and could do things which suddenly break each other, etc. Obviously using the separate parts works very well in practice for a LOT of people, so while I have that bit of personal preference, it really isn't all that big of a deal.
You will read a lot of complaints about Django, and many will be true, but many will be things which have been fixed in the last 1-3 years. Django has made HUGE improvements since around 1.3 and 1.7 lays the groundwork for a lot more. Right now, imo, Django's biggest issues are the forms system and the class based views if you choose to use them. Both are heavily based around a straightforward request/response, centered around a single object instance, with a simple form layout. I have even seen at least one core developer speak out against the class based views and say he still uses function based views, which is what I have also chosen to do. I also find myself using forms for input validation, but not for the actual form rendering... and even less of that now that I do a lot of using Django REST Framework. Depending on what other tools you also want to use, sometimes Django is not ideal, but usually a sane solution can be found.
I've built a fairly wide variety of systems using Django using Django 1.3 through 1.6 (and have done a bit of 1.7 work and am moving stuff to it now) using straight up simple request response stuff, local static files, remote static files, simple front ends with straight up request/response, more complex front ends with a Rest API and knockoutjs and requirejs, etc. I'd be happy to try to answer any specific questions you might have about using Django or how to do something with Django, show examples of stuff if applicable, etc.
I don't have a lot of experience with the other systems because Django works for me. I played with RoR a bit and had no real complaints, I just wasn't getting much benefit over just using Django either and was losing a lot of productivity because I already knew Django. I wouldn't fault anyone for going with it, though. The same goes for the smaller or more piecemeal Python based frameworks. They all work well and are used for tons of awesome stuff and I couldn't really fault anyone for choosing any of them.
For personal preference I tend to lean towards picking and choosing libraries (usually revolving around webob), but I've ended up using django a lot because people know it. Django tends to be great until you want to do something it wasn't designed for.
Smaller "micro" frameworks like Flask aren't really my cup of tea, and Pyramid probably aligns closer to how I want to do things, but I've never actually used it in depth enough.
I wish that someway, somehow, that I could save every one of us
PHP for life because I know the people who like rails hate it, and ruby bugs the fuck out of me as a programming language for some reason.
Ruby feels like Java :rotate: on steroids, and a layer of hooker makeup.
I've come to the conclusion that you don't actually like any programming language.
Pretty close.
not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
0
Options
admanbunionize your workplaceSeattle, WARegistered Userregular
Bowen and I agree on a lot of things (el oh el Java) but in this case he is crazy. Ruby is a delight to use in every way from syntax to features. Even just reading about the stuff you can do in Ruby is fun.
Rails is great as long as you don't mind an opinionated framework.
I like .net and C# and I think Visual Studio is hands down the best IDE. It also helps that where I live is a huge .net area, and I spent 12 years with Java, so it's relatively easy to go back and forth between the two.
The worst thing I've had to deal with in .net is dealing with VB.net and classic asp. That's a pox upon man; all of it must burn so that we can be free from this curse.
XBL\PSN\Steam\Origin: Evigilant
+3
Options
KakodaimonosCode fondlerHelping the 1% get richerRegistered Userregular
Right now I'm digging through old Fortran 77 code and translating it to R.
I hate you all with your modern IDEs and languages.
My job responsibilities have changed. I now have the chance to become responsible for internal tools written in C#.
I don't know C#, I don't know any real programming really, all I know is enough powershell to get me into trouble.
Is there even a good place to start on getting ready for this, for a dude with no proper programming experience?
life's a game that you're bound to lose / like using a hammer to pound in screws
fuck up once and you break your thumb / if you're happy at all then you're god damn dumb
that's right we're on a fucked up cruise / God is dead but at least we have booze
bad things happen, no one knows why / the sun burns out and everyone dies
0
Options
admanbunionize your workplaceSeattle, WARegistered Userregular
The concepts behind java are sound, and were great. Which is why I ultimately love c#.
java :rotate: as it is today, is an abomination to languages. C# got everything right that java did wrong. Plus MS pretty much open sourced the language, versus oracle that locked java down and goes crazy whenever anyone uses it.
Microsoft of today is okay in my book, I like what they're doing in the tech world.
not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
I'm coming from someone whose first 3 languages were C++, Java, and C#, so until I learned VB I thought that c-like syntax was just how every modern programming language worked. (Modern because technically the first language I learned was QBASIC)
+1
Options
admanbunionize your workplaceSeattle, WARegistered Userregular
C# is the Java aspect of "let's build a C-like language that completely hides the whole "C" part from the programmer" combined with the LISP/Ruby/Python aspect of "let's actually change how programmers write code for the better."
Oh it's definitely not a negative in my book. I am going to like how easy it is to learn, coming from 4+ years of Java.
I just need to find out how to call functions (that's what they're called in C# right? Not methods?)
I don't know if C# has some of its own terminology or anything, but in general, from a purist view methods belong to objects and implement behaviors for objects, functions stand alone by themselves. In reality, talking with anyone who's not retarded or an irritating asshole, you can use them interchangeably and they'll know what you mean and not give a shit.
Pro-tip for programmers when using source control:
In general, if you're committing 30+ files in every commit for your source control, you're either doing it wrong or have a very crappy codebase. Or both.
Time for me to branch this codebase, and refactor.
Goddamn colleagues. I go away for three weeks, and I come back to this?
Oh it's definitely not a negative in my book. I am going to like how easy it is to learn, coming from 4+ years of Java.
I just need to find out how to call functions (that's what they're called in C# right? Not methods?)
I don't know if C# has some of its own terminology or anything, but in general, from a purist view methods belong to objects and implement behaviors for objects, functions stand alone by themselves. In reality, talking with anyone who's not retarded or an irritating asshole, you can use them interchangeably and they'll know what you mean and not give a shit.
Yes but are they functors or delegates?
not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
Posts
I'd honestly love to hear more people's thoughts on this subject. I'm getting to the point where I also need to do a rewrite of our only major customer-facing website and I'm trying to decide between Python (django, flask) or Ruby (rails, sinatra, etc)...
I have a feeling maybe I should stick to PHP (because, Hey, At Least It's Working ™), but goddamn do I hate PHP for being PHP. I love that it's so ubiquitous, and I can use Google to find a solution to nearly any issue I'm having, but <shakes fist at the little, silly parts of PHP that really get to me>
My experience has been that Django comes with so much baked in because on a web project of any size you're going to need a lot of it anyway. My personal preference is that I get a bunch of tools designed to work together to create a cohesive unit rather than relying on independent parts which really don't care about each other and could do things which suddenly break each other, etc. Obviously using the separate parts works very well in practice for a LOT of people, so while I have that bit of personal preference, it really isn't all that big of a deal.
You will read a lot of complaints about Django, and many will be true, but many will be things which have been fixed in the last 1-3 years. Django has made HUGE improvements since around 1.3 and 1.7 lays the groundwork for a lot more. Right now, imo, Django's biggest issues are the forms system and the class based views if you choose to use them. Both are heavily based around a straightforward request/response, centered around a single object instance, with a simple form layout. I have even seen at least one core developer speak out against the class based views and say he still uses function based views, which is what I have also chosen to do. I also find myself using forms for input validation, but not for the actual form rendering... and even less of that now that I do a lot of using Django REST Framework. Depending on what other tools you also want to use, sometimes Django is not ideal, but usually a sane solution can be found.
I've built a fairly wide variety of systems using Django using Django 1.3 through 1.6 (and have done a bit of 1.7 work and am moving stuff to it now) using straight up simple request response stuff, local static files, remote static files, simple front ends with straight up request/response, more complex front ends with a Rest API and knockoutjs and requirejs, etc. I'd be happy to try to answer any specific questions you might have about using Django or how to do something with Django, show examples of stuff if applicable, etc.
I don't have a lot of experience with the other systems because Django works for me. I played with RoR a bit and had no real complaints, I just wasn't getting much benefit over just using Django either and was losing a lot of productivity because I already knew Django. I wouldn't fault anyone for going with it, though. The same goes for the smaller or more piecemeal Python based frameworks. They all work well and are used for tons of awesome stuff and I couldn't really fault anyone for choosing any of them.
Smaller "micro" frameworks like Flask aren't really my cup of tea, and Pyramid probably aligns closer to how I want to do things, but I've never actually used it in depth enough.
Ruby feels like Java :rotate: on steroids, and a layer of hooker makeup.
PHP is gross as hell, but it's hard to stay mad about it because, as I keep saying, Laravel is such a pleasant web framework.
I've come to the conclusion that you don't actually like any programming language.
Pretty close.
Rails is great as long as you don't mind an opinionated framework.
I dislike smalltalk and lisp immensely, so it's no surprise that I hate Ruby.
I remember having to do AI stuff in lisp. That was just not something I ever want to do again.
It's also no surprise I dislike obj-c.
The worst thing I've had to deal with in .net is dealing with VB.net and classic asp. That's a pox upon man; all of it must burn so that we can be free from this curse.
I hate you all with your modern IDEs and languages.
you can tell it left a scar on him
My job responsibilities have changed. I now have the chance to become responsible for internal tools written in C#.
I don't know C#, I don't know any real programming really, all I know is enough powershell to get me into trouble.
Is there even a good place to start on getting ready for this, for a dude with no proper programming experience?
fuck up once and you break your thumb / if you're happy at all then you're god damn dumb
that's right we're on a fucked up cruise / God is dead but at least we have booze
bad things happen, no one knows why / the sun burns out and everyone dies
the confusing part is that you like C#
I don't dislike Java though!
I dislike java :rotate:.
I'm a functional analyst (so no coding) but our main systems are still on the mainframe. Mostly PL1.
http://www.learncs.org/
http://www.microsoftvirtualacademy.com/training-courses/c-fundamentals-development-for-absolute-beginners
http://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners
Except its so much better since you don't have to deal with all J2EE bullshit.
And while C# was originally copying Java it's Java whose has been copying C# to keep up the last 10 years.
Nintendo ID: Incindium
PSN: IncindiumX
java :rotate: as it is today, is an abomination to languages. C# got everything right that java did wrong. Plus MS pretty much open sourced the language, versus oracle that locked java down and goes crazy whenever anyone uses it.
Microsoft of today is okay in my book, I like what they're doing in the tech world.
I just need to find out how to call functions (that's what they're called in C# right? Not methods?)
It really doesn't matter.
They do the thing.
And Bowen, can you show us on this doll where the Lisp touched you?
I absolutely despise going back and working in it.
Considering they are both c-like languages, this should not be surprising
No but really it's just the right amount of change without losing one's mind to pretty much the entire paradigm of coding.
In general, if you're committing 30+ files in every commit for your source control, you're either doing it wrong or have a very crappy codebase. Or both.
Time for me to branch this codebase, and refactor.
Goddamn colleagues. I go away for three weeks, and I come back to this?
Yes but are they functors or delegates?
Why are compiler log files committed to source control?!
Could be worse, once upon a time we had over 2GB worth of binary blobs in our svn repo for no good reason. Checking out the repo was a blast!