5 ms·
Oh man, there is so much black magic in those slides. I hope to high heaven that as few people as possible read that. Especially not any future employers. Judg
by sirclueless 14y ago
Oh man, there is so much black magic in those slides. I hope to high heaven that as few people as possible read that. Especially not any future employers.
Judging by the number of projects I have seen recently that are predicated on defining new keywords and recognizing them through magic decorators, it may be too late.
- luriel 14y agoThis is one of the reasons I love Go: simple, clean, concise, expressive, and completely free of dark magic. Code does what it says, and says what it does. You don't get to feel so clever doing magic tricks, but you gain a lot of time by not having decipher and debug such magic tricks.
- marcus 14y agoI believe in a balance, too little magic, and you're working with one hand tied behind your back, too much magic and you're working with blindfolds.
- luriel 14y agoSeriously, try Go for a while, it wont take long before you feel that you have three hands, and more importantly, an extra third eye.
- hythloday 14y agoCan you give an example in Go of how you'd solve the same problem as any of the python solutions?
- sirclueless 14y agoWell actually, people with bizarre build requirements are starting to use clean Go source code as a build target of their increasingly diverse preprocessors. Can't be healthy. [1]: https://groups.google.com/d/msg/golang-nuts/LQMv7Zsmsi0/8Aax1XSekjAJ https://groups.google.com/d/msg/golang-nuts/LQMv7Zsmsi0/8Aax... [2]: https://github.com/jteeuwen/go-bindata https://github.com/jteeuwen/go-bindata [3]: http://stackoverflow.com/questions/9838304/resource-bundling/9840851#9840851 http://stackoverflow.com/questions/9838304/resource-bundling... [4]: https://github.com/chanwit/kgc https://github.com/chanwit/kgc [5]: https://github.com/droundy/gotgo https://github.com/droundy/gotgo
- batista 14y agoI use Go and I don't see any particular expressivity or ability to code easier/faster, compared to, say Python. The benefits are: type checking (if you need it), more speed (but not as much as advertised), and easy concurrency (if you need it). I think one of the main "marketing" points of Go, in a grassroots way, is that some people coming from Python/Ruby/js etc, that have never (or only very lghtly) used C/C++ before, feel suddenly like they are using a "hard, grown up's language", what with pointers and everything. It's mostly an illusion, though.
- jnazario 14y agohere's where i disagree with you, and here's why. there comes times - hopefully rarely - where tricks like metaclasses and monkey patching actually REDUCE overall code complexity, if done right and in a limited way. it takes a lot of experience, education, and skill to do this, but when you see it done right it greatly reduces overall code complexity by isolating the "odd" bits into small, confined spaces, and this can lead to more readable code overall. the other day a link was posted here on HN about metaclasses in python, and dpkt was one of the examples (see the _metapacket class). i think that's a good example of the above: the scary, hard to grok stuff is isolated, and overall the code becomes more readable for it. i've seen - and written - code that could benefit from these things, and it's less maintainable than code with them used appropriately. also, i think it's great if people read this and learn. i want more talented programmers on my team, people who know how to do these things, when to do them (e.g. limited), and where to do them. i've seen the opposite, and it's not pretty. that said i'm unqualified to use the "bad ideas" in this presentation appropriately, and so i wont. one facet of wisdom is knowing your limits.