⇥ The violin-playing software designer
What is beautiful code? Ask ten people, and you will probably get ten different answers. Ask them what makes a programming language beautiful, and you’ve got yourself the beginnings of a holy war.
For example, I have grown very tired of people telling me that PHP is an ugly language that promotes poor coding practices. PHP is, in fact, a great language, and its perceived ugliness is precisely what makes it so beautiful.
To me, at a visceral level, code is art. Beautiful code doesn’t just work well, but is pleasant to look at, examine, explore and understand. Like a painting, coding starts with an empty canvas—your editor window. Your language provides you with the tools and a palette that you can use to sketch, draw and paint your work of art.
Like with a real painting, it’s your personal abilities that dictate the quality of the end result. Languages and development platforms only provide you with the ability to realize your vision—or not.
This is why the best language is one that comes with sharp edges. Imagine someone forcing Leonardo to draw the Mona Lisa with erasable markers because oil-based paint would stain the furniture, or Edvard Munch having to create The Scream with crayons (ok, that’s not that much of a stretch, but stay with me) because he had a habit of eating his brush.
A good language is a language that gives a programmer the ability to experiment while imposing as few constraints as possible. If someone came to you and said “I’ve got this great idea for a painting of a bride… it’s great! It’s even got a violin-playing goat!” You’d probably think they’re insane—but what if they were Marc Chagall? Not so crazy now, eh?
PHP is the ultimate development platform—with the appropriate amount of discipline, you can use it to great truly outstanding code that can adapt to almost any development methodology. Of course, you can write spectacularly bad code with it, too, but that’s part of the bargain. Python is like that, too—as demonstrated by its application to a range of problems as diverse as mathematical research and game development.
It could be argued that not everyone is Leonardo, Edvard Munch or Marc Chagall, and that the vast majority of developers are better served by the paint-by-numbers approach of RoR and the likes. I prefer to think, instead, that the vast majority of developers is best served by a language that gives them a chance to stretch their wings and learn from their mistakes.
This, incidentally, is why I am scared—really scared—of the fact that so many post-secondary institutions have started teaching com-sci using Java instead of C. We are essentially breeding a generation of developers who have no real idea of the underpinnings of low-level software programming. In the short term, this may be good for the industry, but not so good for the future.
Comments
Exactly. I strongly believe what makes a good programmer is the knowledge of what’s going on at the lower levels. It not only makes you confident knowing what you’re doing is right, but it helps making the best decisions along the way.
I can’t tell you how many times my friends make mistakes only by not understanding the details. They do it every single day. They make me go crazy. How can they not see?! The answer is simple: they have no idea what’s going on. So they end up with very low quality code.
This is especially true for PHP where the barrier of entry is so low. Sadly many open source projects suffer from this too. That doesn’t help PHP too much.
Thanks Marco.
I’ll steal the “painting-by-numbers” analogy for describing web frameworks (not necessarily only RoR). Thanks again.
Cheers
Jan
–
There is no such thing as beautiful programming language, but there is a smart programmer that manage its complexity in beautiful way. As I like to say, for a smart man, the sound of a fly could be a music.
I also think that knowledge of the underpinnings of low-level software programming is crucial for the further development of high-quality programmers.
Programming is not art, it’s not creative, and it’s not (really) beautiful. Programming is engineering and there are good and (lots of) bad engineers. Most programming languages can be written in a way to be easy to read and to follow, however some languages do try to enforce this. Python for example, forced indentation for code blocks means we all layout our code the same way. This isn’t for everybody but personally I think it makes Python so much easier to read. PHP can of course be well written, however the responsibility for this is left to the developer. Unfortunately I’ve got to say I’ve seen more messy PHP code than in any other language…
One other disadvantage (in some respects at least) to PHP is the lack of standard developer. Most Java developers use Eclipse and this means they have a fairly standard look and feed to the code.
Be sure to read this blog post on the subject: “Lucky To Be A Programmer”
http://duartes.org/gustavo/blog/post/lucky-to-be-a-programmer
Regarding the ‘java vs c’ in compsci, I heard the same argument when they started to teach c instead of assembler. I don’t think the language (or whether it’s high level or low level) matters that much. I’d say that 10% of programming quality is in the language and 90% is in the way you use it, i.e. your development processes.
What about cello-playing software designers?
@greg: What about cello-playing software designers whose cellos actually have a frequent flyer number?
徵信, 徵信社, 感情挽回, 婚姻挽回, 挽回婚姻, 挽回感情, 徵信, 徵信社, 徵信, 捉姦, 徵信公司, 通姦, 通姦罪, 抓姦, 抓猴, 捉猴, 捉姦, 監聽, 調查跟蹤, 反跟蹤, 外遇問題, 徵信, 捉姦, 女人徵信, 外遇問題, 女子徵信, 外遇, 徵信公司, 徵信網, 徵信, 徵信社, 外遇蒐證, 抓姦, 抓猴, 捉猴, 調查跟蹤, 反跟蹤, 感情挽回, 挽回感情, 婚姻挽回, 挽回婚姻, 感情挽回, 外遇沖開, 徵信, 徵信, 徵信社, 抓姦, 徵信, 徵信社, 外遇蒐證, 外遇, 通姦, 通姦罪, 贍養費, 徵信, 徵信社, 徵信社, 抓姦, 徵信社, 徵信社, 徵信, 徵信, 徵信公司, 徵信社, 徵信, 徵信公司, 徵信社, 徵信社, 徵信社, 徵信社, 徵信社, 徵信公司, 徵信社, 徵信, 徵信, 徵信公司, 女人徵信, 外遇, 外遇, 外遇, 外遇
徵信, 徵信網, 徵信社, 徵信網, 徵信, 徵信社, 外遇, 徵信, 徵信, 徵信社, 抓姦, 徵信, 徵信社, 外遇, 徵信社, 抓姦, 徵信社, 徵信公司, 徵信, 徵信社, 徵信公司, 徵信, 徵信社, 徵信公司, 徵信社, 徵信社, 徵信社, 徵信社, 徵信, 徵信社, 徵信社, 徵信社, 徵信,
This blog is really a love
.| .|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|==|??|·| ……|*|·|¥|*|·|*|#|·|¥|……|—|%|*|—|+|·|%|—|—|¥|—|R|·|#|%|#|·|#|……|·|·|#|……|·|……|%|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|. |T. |. |. |. |. |. |. |. |. |. |. |. |. |. |. |.|. |. |. |……|……|#|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|·|
百家乐 轮盘 21点 德州扑克 百家乐系统 真人娱乐场 百家乐 足球 德州扑克 电子游戏 英格兰超级联赛 德国甲组联赛 意大利甲组联赛 西班牙甲组联赛 法国甲组联赛欧冠杯 英超 足球比分 足球彩票 体育彩票 即时比分 免費a片 a片 免費av 色情影片 情色 情色網 色情網站 色情 成人網 成人圖片 成人影片 18成人 av av女優 av av女優 性 情慾 走光 做愛 sex H漫 情色 情趣用品 情色 a片 a片 成人網站 成人影片 情趣用品 情趣用品 アダルト アダルト アダルトサイト アダルトサイト 情趣用品
希望大家都會非常非常幸福~「朵朵小語‧優美的眷戀在這個世界上,最重要的一件事,就是好好愛自己。好好愛自己,你的眼睛才能看見天空的美麗,耳朵才能聽見山水的清音。好好愛自己,你才能體會所有美好的東西,所有的文字與音符才能像清泉一樣注入你的心靈。好好愛自己,你才有愛人的能力,也才有讓別人愛上你的魅力。而愛自己的第一步,就是切斷讓自己覺得黏膩的過去,以無沾無滯的輕快心情,大步走向前去。愛自己的第二步,則是隨時保持孩子般的好奇,願意接受未知的指引;也隨時可以拋卻不再需要的行囊,一路雲淡風輕。親愛的,你是天地之間獨一無二的旅人,在>陽光與月光的交替之中瀟灑獨行。
這一家租屋網免費刊登不用錢耶,超好康的想出租房子快來吧!
專業搬家公司,服務第1,顧客至上,是你值得托負終生的好伙伴!精緻搬家公司主要是在為大家服務搬家為目的,本網站服務項目以,搬家公司、回頭車,家庭搬家,工廠搬遷,為主要,服務地區,台北搬家,台中搬家,高雄搬家公司,全省搬家公司,歡迎洽詢
順便介紹一下室內設計在國內的發展,已到了一個急待突破的瓶頸階段。雖然,在裝潢學界,我們已建立了從高中、高職、五專、二技、四技、大學到研究所相當完整的室內設計相關專業教育體系,在業界,相關從業人員至少也在數萬人以上,而民間人士對於住宅、商空、辦公室等各類空間室內設計之需求也隨著經濟的不斷成長與社會進步而日益殷切。表面上看來,室內設計似乎蓬勃發展、坦途在望,但事實並非如此。此一領域至今仍有許多問題急待克服與解決,而其中最主要的問題之一是官方一直將「室內設計」視為是依附在建築之下的附屬品,而非一獨立之專業。這種情形,我們從內政部所公布施行的建築物室內裝修管理辦法之內容便可清楚看出。
此一未與學界、業界充分溝通即匆促制訂、且施行後成效不彰的室內設計管理辦法可說問題重重,值得深入檢討,以謀徹底改善之道。
官方對於「室內設計」未能正確定位可說是問題的主要根源之一。此一瓶頸如無法突破,則室內設計將永遠只是附屬於建築底下的一個妾身未明、專業地位未受尊敬與肯定的灰色領域。這種情形對多年來努力建立室內設計專業教育體系的學界、以及辛勤接受室內設計各級專業教育的諸多莘莘學子而言,真是情何難堪。何以同樣在中華民國教育制度下,一樣的修業年限,一樣具備完整的專業教育體系,建築、土木等領域的畢業生就有機會取得官方對其專業地位的認定,其權利能受法律保障,而修習室內設計公司的室內設計者就只能參加建築物室內裝修專業技術人員之講習與測驗,還需在建築師、建築公會或其他相關專業團體之審核查驗下夾縫求生?這對室內設計領域是不公平的。如果不是其他專業領域之專業知識與技能未能完全涵蓋、不足以有效處理室內設計相關問題,何以有室內設計存在的空間?又何需大費周章建立從高中到研究所的專業教育體系?可見室內設計有其存在的必要與價值,也有其獨具的(與其他專業有所區隔的)專業知能。
再談談網站優化SEO方案的優勢和效果保證:
網路行銷管理顧問的專業實力決定了在網站優化方案及實施方面具有獨特的優勢,主要表現在下列方面:
領先的網路行銷導向網站建設理論和系統的網站優化思想指導;
作為中國中國互聯網協會網站建設指導規範的主要起草人,對網站規範(網站優化是網站規範的基本組成部分)的認識更為深刻;
對利用國際WEB標準實施網站重構有著豐富的經驗;
從網站運營策略層面進行整體網站優化,是網站運營導向的網站優化方案而不僅僅是為了搜尋引擎排名,單純的搜尋引擎排名效果是局部的、短暫的,也可能是後患無窮的;
需要找健身中心幫你健身嗎?會變瘦唷!
SEO不等於網站優化,不提供片面的SEO方案,實踐表明只有系統的網站優化才能達到最好的、持久的搜尋引擎優化效果;
基於用戶行為的研究,通過網站SEO優化為用戶提供最有價值的信息和服務,為瀏覽者轉化為顧客奠定基礎;
為眾多不同規模的企業網站及電子商務網站提供網站優化方案、實施及運營維護,豐富的網路行銷實踐經驗,讓網站優化深入到網站運營的每個細節,這是網站優化得以成功的基本保證。
好了說完了,以下幾個站點不錯,累的話來去台北motel休息一下吧!有空能去看看
美食介紹:台中美食
台北美食
新竹美食
桃園美食
台中美食小吃
台中美食餐廳
大台中美食網
台北美食餐廳
桃園美食餐廳桃園美食網
優質站點介紹:手電筒,棧板,二胎,隔熱紙,照明,健身,a383,a383,兼職小姐,二手家具有人要買嗎?
希望大家都會非常非常幸福~「朵朵小語‧優美的眷戀在這個世界上,最重要的一件事,就是好好愛自己。好好愛自己,你的眼睛才能看見天空的美麗,耳朵才能聽見山水的清音。好好愛自己,你才能體會所有美好的東西,所有的文字與音符才能像清泉一樣注入你的心靈。好好愛自己,你才有愛人的能力,也才有讓別人愛上你的魅力。而愛自己的第一步,就是切斷讓自己覺得黏膩的過去,以無沾無滯的輕快心情,大步走向前去。愛自己的第二步,則是隨時保持孩子般的好奇,願意接受未知的指引;也隨時可以拋卻不再需要的行囊,一路雲淡風輕。親愛的,你是天地之間獨一無二的旅人,在陽光與月光的交替之中瀟灑獨行。
=|===================|=|=|=|=|=|=|
=|=|=|=|=|
花蓮|花蓮民宿|花蓮|花蓮民宿|花蓮旅遊|花蓮民宿|花蓮美食|花蓮旅遊|花蓮租車|花蓮旅遊|花蓮租車旅遊網
花蓮旅遊|花蓮美食|花蓮飯店|花蓮住宿|花蓮民宿|花蓮民宿|花蓮|花蓮|
花蓮|花蓮民宿|花蓮旅遊|花蓮美食|花蓮住宿|花蓮飯店|花蓮旅館|花蓮|花蓮民宿|花蓮民宿推薦|花蓮民宿市區|花蓮民宿王|花蓮民宿網|花蓮民宿資訊網|花蓮民宿悠遊網|花蓮民宿交流網|花蓮海景民宿|花蓮海邊民宿|花蓮海岸民宿|花蓮旅遊民宿|花蓮|花蓮旅遊|花蓮廣告|花蓮民宿|花蓮房屋|花蓮汽車旅館|花蓮派報|花蓮飯店|花蓮派報|花蓮旅館|花蓮美食|花蓮餐廳|花蓮小吃|花蓮名產|花蓮工作|花蓮新聞|花蓮租車|花蓮入口網|花蓮旅遊|花蓮旅遊|花蓮旅遊景點|花蓮旅遊|花蓮旅遊景點|花蓮旅遊|花蓮旅遊景點|花蓮美食|花蓮餐廳|花蓮小吃|花蓮名產|花蓮縣長|花蓮租車旅遊網|花蓮行易旅遊資訊網|
搬家搬家搬家公司 搬家搬家Shade sailnike shoesMBA在职研究生 在职博士徵信社 徵信室內設計室內設計代償房屋貸款信用貸款外遇離婚抓姦外遇蒐證外遇抓姦侵權仿冒應收帳款工商徵信徵信 徵信社外遇徵信徵信社外遇电动隔膜泵自吸泵化工泵离心泵磁力泵螺杆泵水泵隔膜泵气动隔膜泵百家乐 轮盘 21点 德州扑克 百家乐系统 真人娱乐场 百家乐足球德州扑克 电子游戏 英格兰超级联赛 德国甲组联赛 意大利甲组联赛西班牙甲组联赛法国甲组联赛欧冠杯 英超 足球比分 足球彩票 体育彩票 即时比分 免費a片 a片 免費av 色情影片 情色 情色網 色情網站 色情 成人網成人圖片成人影片 18成人 av av女優 avav女優性 情慾 走光 做愛 sex H漫 情色 情趣用品 情色 a片 a片 成人網站 成人影片 情趣用品 情趣用品アダルトアダルト アダルトサイト アダルトサイト 情趣用品搬家搬家服務搬家保障搬家網搬家估價徵信徵信的意義徵信服務徵信報導徵信問答徵信知識婚禮佈置 婚禮佈置
This is the latest and hottest ghd styler ever. If you need a ghd hair straighteners, this is a must buyghd hair straighteners,cheap ghd hair straighteners,pink ghd hair straightenersghd straightenersComme vous pouvez le voir, il s’agit d’une paire de chaussures shox classiquepink ghd hair straighteners . Si vous souhaitez poursuivre la mode, nike shox NZ sont votre meilleu…”Cette paire de Nike Shox Torch est chaud en maintenant la demande.nike chaussurestn chaussures
台灣汽車旅館加盟網–台北汽車旅館,台中汽車旅館,高雄汽車旅館
花蓮旅遊,花蓮租車,花東旅遊,花蓮租車,花蓮租車,花蓮旅遊,租車公司,花蓮旅行社,花蓮旅遊景點,花蓮旅遊行程,花蓮旅遊地圖,花蓮租車資訊,花蓮租車,花蓮租車旅遊網,花蓮租車,花蓮租車,花蓮租車,花東旅遊景點,租車,花蓮旅遊,花東旅遊行程,花東旅遊地圖,花蓮租車公司,花蓮租車,花蓮旅遊租車,花蓮租車,花蓮旅遊,花蓮賞鯨,花蓮旅遊,花蓮旅遊,租車,花蓮租車,花蓮租車 ,花蓮 租車,花蓮,花蓮旅遊網,花蓮租車網,花蓮,租車,花東 旅遊,花蓮 租車,花蓮,旅遊,租車公司,花蓮,花蓮旅遊,花東旅遊,花蓮地圖,包車,花蓮,旅遊租車,花蓮 租車,租車,花蓮租車資訊網,花蓮 旅遊,租車,花東,花東地圖,租車公司,租車網,花蓮租車旅遊,租車,花蓮,賞鯨,花蓮旅遊租車,花東旅遊,租車網,花蓮海洋公園,租車 ,花蓮 租車,花蓮,花蓮旅遊,花蓮租車公司,租車花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮包車,花蓮租車網,花蓮旅遊,花蓮租車,花蓮旅行社,花東旅遊,花蓮包車,租車,花蓮旅遊,花蓮租車,花蓮一日遊,租車服務,花蓮租車公司,花蓮包車,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮包車,花蓮租車網,花蓮旅遊,花蓮租車,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮租車,租車網,花蓮租車公司,花蓮旅遊,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮租車公司,花蓮一日遊,租車花蓮,租車服務,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,租車花蓮,租車服務,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮包車,花蓮租車網,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,租車花蓮,花蓮租車網,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,租車花蓮,花蓮租車網,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮包車,花蓮租車網,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮包車,花蓮租車網,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮包車,花蓮租車網,花蓮旅遊,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮包車,花蓮租車網,花蓮旅遊租車,花蓮租車,花蓮租車公司,花蓮一日遊,花蓮租車網,花蓮旅遊租車,花蓮租車網,花蓮租車,花蓮一日遊,租車花蓮,花蓮租車,花蓮旅遊租車,花蓮租車,花蓮租車旅遊,花蓮租車,花蓮旅遊,花蓮旅遊,花蓮包車,花蓮溯溪,花蓮泛舟,花蓮溯溪旅遊網,花蓮旅遊,花蓮民宿,花蓮入口網,花蓮民宿黃頁,花蓮旅遊,花蓮租車,租車公司,花蓮旅遊租車,花蓮租車,租車
台灣汽車旅館加盟網–台北汽車旅館,台中汽車旅館,高雄汽車旅館
牛初乳
保洁公司
地毯清洗
外墙清洗
沙发清洗
大理石翻新
石材养护
I can get wakfu kamas cheaply,
Yesterday i bought wakfu goldfor my brother.
i hope him like it. i will give wakfu money to him as
birthday present. i like the wakfu kama very much.
I usually buy wakfu kamas and keep it in my store.