Language Design: Are languages like Python and CoffeeScript really more comprehensible?

The “Verbally Readable !== Quicker Comprehension” argument on http://ryanflorence.com/2011/case-against-coffeescript/ is really potent and interesting. I and I’m sure others would be very interested in evidence arguing against this. There’s clear evidence for this and I believe it. People naturally think in images, not words, so we should be designing languages that aren’t similar to human language like English, French, whatever.

Being “readable” is quicker comprehension. Most articles on Wikipedia are not readable as they are long, boring, dry, sluggish and very very wordy. Because Wikipedia documents a ton of info, it is not especially helpful when compared to sites with more practical, useful and relevant info. Languages like Python and CoffeScript are “verbally readable” in that they are closer to English syntax. Having programmed firstly and mainly in Python, I’m not so sure this is really a good thing.

The second interesting argument is that CoffeeScript is an intermediator, a step between two ends, which may increase the chance of bugs.

While CoffeeScript has other practical benefits, this question specifically requests evidence showing support for the counter-case of language “readability”

5

I think the Article has a point as far as JavaScript vs. CoffeScript is concerned.

I personally find JavaScript quite readable and I just do not see the point of sticking another layer of syntax on top.

I have similar experiences with Java/Groovy, Groovy is just great: highly expressive, cuts out a lot of useless tedious typing compared with Java, the “extras” like native SQL support are really worth having. BUT the last time I used it debugging was painful, you end up stepping through endless obscure internal Groovy classes before you get back to your own code.

Python on the other hand is a complete self supporting environment, it is it’s own language and is not tacked on top of another language (although Python itself is written in C and has excellent integration with anything written in C or C++). It has its own debugger so for the most part you are debugging the python code you wrote.

The designers of Python obsess over the expressiveness of the language and consistency of syntax. Once you get the hang of it it is very readable. You genuinely write much less code in Python compared with using other languages to solve the same problem, and, well written Python code is clear and unambiguous.

The only downsides are that in common with most dynamic languages it does not play well with IDEs, and, all that lovely high level expressiveness is not interpreted into a lean mean execution.

5

People naturally think in images

The author of that article shouldn’t speak for everyone. Some people naturally think in images, others are more verbal/symbolic. Besides, his examples are of verbal versus symbolic. Neither && nor and is a picture; both are symbolic rather than pictorial, and both are processed by the same side of the brain. Symbolic reasoning is much closer to verbal reasoning than it is to spatial reasoning.

I for one am not a big fan of pictorial programming. It doesn’t communicate to me. I never did like flow charts. I absolutely loathe UML diagrams as they inevitably bring out the worst in both worlds. Pictures make nice cartoons, great for presenting ideas to management. They’re not so good for doing meaningful work in programming, mathematics, or physics (all of which are largely symbolic).

Sometimes pictures just don’t cut it. Symbols are more powerful than pictures. Try drawing a picture of an infinite dimensional Hilbert space.

3

I find the argument about symbols and structure communicating more (and more quickly) than natural words quite compelling, but then my all-time favourite language is Scheme, so I would.

I would answer “somewhat”.

To be fair I think we have to first factor out our personal bias (ie. familiarity with keywords, syntax, and constructs) and only judge languages that we have never seen before. (To judge the more popular languages we can only accept answers from new programmers as they are introduced to a the language for the first time.) Then, given an identical implementation in several languages, the question posed should be “which of these is easier to understand”?

I would guess that the more there is a syntax hurdle the less likely a language will score well in this scenario, and that favors languages with a cleaner and more obvious syntax.

Much more likely to communicate the programmer’s intent will be the choice of variable names and of course the comments that were included, and that transcends nearly all languages.

I don’t read code; I see patterns.

Eventually this applies to all the languages I learn.

The window where ‘readable’ matters is very short, a few days at most, even for idiomatic languages.

1

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật