When you consider the OS and all it's bits, the language runtime and libraries, the database server itself, the browser, we're talking tens of millions - literally - of lines of C and C++. Yet guys who plumb together these pre-built components writing a few hundred lines of high level code at most, think it's the "full stack" they're doing. The same guys who last year, were "rockstar ninjas".
I'm a programmer. It's and old and boring title. But it's honest work with no pretensions, and I mean to go on being one for a long time. And I think anyone who interviewed with me who glibly claimed to be "full stack" would have an interesting time...
You just prompted me to have a quick read through the Pyramid docs. It looks really nice.
I use Flask as a general rule (though I try to have as little web app specific code as possible with whatever I do). I've worked with django in the past and it's just not for me. Pyramid immediately feels like it strikes a nice balance between the two extremes.
thanks, it's great to hear! I created the site because while I was learning Python these were the resources I would've loved to have learned from.
Regarding Pyramid, I completely agree. It's a great framework and definitely one I need to adda page for it as soon as I get my hands dirty with a project so I can confidently write about the differences compared to Django/Flask/Bottle.
Imagine that you're learning your first programming language. You don't read Hacker News, and you can't imagine why having curly braces on a keyboard is more useful than a snowman character. Then, getting a working conditional statement might be a revelation.
I still remember the first program I ever wrote. It was about 15 years ago, and all it did was convert a Celsius temperature to Fahrenheit in C. It was thrilling, and I don't think it even included a conditional!
If that first language is python you may get quite a long way before you see any reason why having curly braces on a keyboard is more useful than a snowman character :)
Also related, the whole generator/iterator pattern, and how by designing your logic into the right kind of objects, you can create extremely elegant interfaces.
Great idea. Will sure read more on your site later on, but one thing that struck me is "Pyramid applications are built using a model-view-controller architecture." There is a note in pyramids design defenses which says they do not consider pyramid to be a mvc: http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch...
thanks, I'll make the change based on this link. I'm coming primarily from a Django & Flask background so my description of Pyramid isn't from a position of knowledge. I'll have to write a Pyramid project to get some experience with the framework.
I will not, beginners who want to build a web app should start with JS. Until Python is executed client-side as quickly as JS, "fullstack python" is a lie.
I think, in this context, "beginners" refers to new Python programmers who want to use Python to build a web app.
After all, the site's intro clearly states,
"You're knee deep in learning the Python programming language...Now you want to take your initial Python knowledge and make something real. A real web application that's available on the web"
I started with Flask because I knew some Python. I just moved to node.js / Meteor. I wish I had started with the latter. I wish someone had told me "Python is nice, I understand that you're enjoying it right now, but learn these JS web frameworks." Anything else is a real disservice to beginners.
This is just plain wrong to force someone with your new hype and vague idea of how a web application should be developed using only your new hipster framework of choice and nothing else.
There are tons of way you can write a web application, that's why open source is cool, chose the one that pleases you and have fun with it, but stop trying to prevent others using anything else but what you judge to be the best.
I'm the complete opposite you are entitled to your own opinion but I started with node.js / Meteor, I moved to Flask, and learned Python, and I've never looked back.
I have strong opinion (you might disagree with me) that Javascript should stay in the browser, like it was designed for, and inherited to browsers to this very day.
Javascript is not a beginner-friendly language, though lots of beginners manage to create things with it. It has quite a few rough edges and teaching Javascript can be rather annoying.
When a single PC circa 2014 is more powerful than the entire world's combined computing power circa 1990, and a smartphone is as powerful as an XBox, it's probably suboptimal to worry about execution performance. Generally, it's best to wait until a profiler indicates there's a performance problem before changing your coding habits.
as a web developer you must know have to deal with either javascript or coffee script. Full stack means you can both do frontend, backend, and also deploy. Not that you're expert in three but you're capable of getting the job done.
I just didn't want to put coffee script out of the scene. obviously to do frontend you must know the basics: css, html, js. but is well known that now there are some fancy pseudo languages that improve the lack of the basic ones, such as less/stylus/sass for css, and coffee script for javascript.
Interesting content. "Full Stack" means all those server-side bits and the client application portions as well. i.e., "everything". This looks like it addresses only the server-side part of the "stack".
Love the content! It's lame to say, but the first sentence under the Web Framework section has a subject-verb agreement issue. Believe it should be "makes," not "make."
I think recommending Python 3 would be good in this tutorial. Since the people that read this are probably starting a new project and both recommended frameworks support it.
Isn't webapp2 preferred for python webapp dev in GAE? I'm also starting to build a python based webapp in GAE and confused whether I should start with Flask?Django or Webapp2 itself.
Great timing for me too! I started reading LPTHW, so I can learn django and take on a site I want. I just hate wordpress with passion. I have a really hard time digging and rearranging someone else's work. I hope that being able to manually piece the code together and write my own where necessary will help me out a great deal. This site looks a lot better, compared to a single book, since it teaches not only small bits, but how to put a whole project together.
As I mentioned, I'm 30 pages into LPTHW, but I think I will be switching immediately to Real Python, since it looks a lot more practical for my needs.
Thanks again to the people who built that site, to the person who submitted it on HN and to all the people who voted on it, so it gets to first page! You all rock!
Well I thought this is a project where you write django with python generated CSS and HTML, ZODB for db and some other kind of pure python mockup of redis/memcached, and using Tornado to replace Nginx. Now that's compelete-stack python
I guess it may be out of the scope for that book, but i was expecting a mention of saltstack on the deployment part. Since there wasn't any mention of any provisionning tools ( or i didn't see where), i suppose it's on purpose.
I think the virtualized servers was oversimplified a bit. In reality, 1 virtual core is generally less than 1 physical core. Virtual cores aren't on a 1 to 1 basic with physical cores.
Lately I've been writing some small scripts in Python to automatize some work and learn the language too, so this site is just what I needed. Great stuff.
This is such a useful guide for me. Especially as someone from the LAMP stack who played with javascript on the server side that left a bad taste in the mouth, I've finally turned to python (flask, uwsgi, nginx). I wish I had known about this site earlier, it has valuable information.
It used to begin with assembly...