You are not logged in.
Pages: 1
This not a flame but an effort clarifying what was said in "General Programming Forum" regarding languages what Arch consider as KISS (keep it simple). Not only as KISS but some languages are "evil". Not evil as its written but the way devs feel a language doesn't do or... I don't exactly know what they refer. It causes a confusion between devs (educated in programming) and eudevs (end user developers who learn on their own).
http://bbs.archlinux.org/viewtopic.php?t=13572
In the said topic, PERL is evil and not KISS. Most likely BASH is also evil because its similar to PERL. Also PHP (not the OOP PHP).
OOP based languages are considered as KISS, if I have understood correctly. Languages such as C and Python.
My question here, what is the KISS in a language? In general OOP languages require a proper study and best if learned in a school. BASH and other similar languages any person with a logical mind, can understand and do simple coding with no pre-educated knowledge. Lean the basic and there you go.
Markku
Offline
hmmm, I'd probably have to vote for python here - python has the most straightforward syntax I've ever seen.... I mean, look at the feedparser module
import feedparser
f = feedparser.parse("http://www.archlinux.org/rdf_feed.php")
print f.title
print f.entries[0].contents
Offline
Aye, ill agree on python (me a python user)
Ruby looks pretty simple too.
Lua is evil, really unusual
iphitus
Offline
ruby is easy as well, and has alot of powerful features compared to python... the problem I have is that ruby is one of those "you want to do X? here's 397 different ways to do it" languages...
Offline
Please, this thread is NOT about what languages are easy or evil. If we do, this will be a flame war. Example, when phrakture voted python as KISS and I will consider it evil because requiring to import stuff what I have no idea about the contents. PERL and BASH is KISS because not depended on pre-made codes/objects. What you code on your own, you know what you have.... that's KISS for me. You may say we can make our own objects/functions, and the debate goes on and on.
Let's leave this type of discussion, and try coming to a conclusion what's the KISS in a language acceptable by all. Or is KISS an individual taste only?
Markku
Offline
i don't consider lua evil, but the bit of C/C++ code required to call an external Lua function is pure evil.
Offline
ok then, Ruby is pretty simple, much of it is very human readable. One of it's ideals is to follow KISS philosophy.
Lua is not as KISS and uses very unusual syntax, that I still find hard to comprehend.
iphitus
Offline
I vote ruby...
The "Ruby Way" is all about simplicity and direct approaches. Read "the pragmatic programmer" too. a good book.
"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍
Offline
I think it's my new goal to pick up Ruby (or at least fool around with it) over the next couple of months..so much to do, so little time!
Offline
Let's leave this type of discussion, and try coming to a conclusion what's the KISS in a language acceptable by all. Or is KISS an individual taste only?
Well, ok, I won't import anything this time, because that has no place in a language discussion thread :shock:
But trying to determine the simplest language (KISS=keep it simple stupid, simple=easy - I fail to see why calling ruby "easy" goes against the topic) is like trying to find the best Cola - it's not going to happen, and it's entirely subjective...
I don't get it
Offline
Coke! Nothing says tasty like de-cokanized-coka-leaves.
"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍
Offline
When speaking about KISS in a language, there are two sides to be considered: (1) what a developer consider as easy to write, logical and broad scope in development, and (2) what other developers consider as easy to read and hack/improve/support.
This second part I never thought until Dusty said in one of the Programming Form's topic:
Who wants to edit and hack perl scripts?
At first thought, anyone can do it.... PERL is easy. Maybe easy language to write when developing from scratch. But for an other developer to ready/understand e.g. 1000 lines of PERL, what's all about, may not be KISS. To study each function or array take times. Learn the content of variables and to create a "mind map" of the flow, maybe troublesome.
EXAMPLE: I love developing (write) in BASH but have difficulties in reading other devs' scripts. PHP (not OOP) is nice to write and also easy to read. About other languages I don't know except C seems quite easy to read but not to write.
Markku
Offline
Offline
IMHO, what defines a language as KISS is its level of strictness. If a language does a lot of stuff to keep you from doing stupid things.... well, you're not going to be doing stupid things - at least not as much as you would if the language had very loose standards. Take VB, for example - a language aimed at 8-year-olds. It is, however much you may hate it (and rightfully so), remarkably easy to learn. That does not make it KISS though, because it lacks the good standards apparent in C, for example, to encourage you to write simple, efficient programs.
Simple != Easy, as someone said before, IMHO.
Offline
I'd vote for number of statements required. Note that I didn't say 'number of lines of code' -- many PERL and Python 'one liners' can be very powerful, and also very hard to read.
Second on my list is number of tokens per statement. Adding modifiers like 'public, private, static, const, TypeOfClass, def, etc should not be necessary. Adding extra brackets, braces, parenthesis, semi-colons, and other punctuation should not be necessary.
Using indentation as a language feature is a Good Thing. It takes fewer characters to type than placing stuff inside {} (the C/C++/Java/Perl way), or having explicit 'end' statements (Ruby, Basic). The fewer redundant lines of code, the better.
I guess when you add all this up, the simplest language is the one that allows you to program a task in the fewest number of characters and the shortest amount of time. A good language allows you to have a program that is both very readable and very writable.
I would vote for Python here again. I've been reading up on Ruby and I don't like the way it looks. I suspect that both Python and Ruby are 'simple' languages, just as both slack and Arch are simple distros. However, in my personal opinion, just as Arch is a more elegant distro than slackware, Python is a more elegant language than Ruby.
No languages, however, are evil, and I strongly resent any statement that they are.
Dusty
Offline
IS there really a KISS programming language? I mean really they will all entail some level of complaexity and simplicity. Most answers in this regard will boil down to what language someone really likes.
How well one know their languages can also make it pretty easy to say which language is KISS. For people like me who is has no formal training in computers (beyond how to use some common programs for Windows) all languages are rather complex.
AKA uknowme
I am not your friend
Offline
IS there really a KISS programming language? I mean really they will all entail some level of complaexity and simplicity.
True enough. I think the definition is coming in terms of 'powerful simplicity'. Unix, for example, is called a simple operating system. To paraphrase Linus, its basically files and six system calls. And yet, the way you combine them can result in an extremely complex operating system.
Most answers in this regard will boil down to what language someone really likes.
Not really. My languages of choice are Java and Groovy, yet I was arguing in favour of Python for simplicity. Java is not simple. But I like it.
As an example of a language that is NOT simple, take SQL. Or Basic. Or Cobol. These were designed for manager types, people who don't program. Designed to be easier to learn, but harder to use.
Dusty
Offline
My programming primarily serves only my computational needs, which can get fairly extensive. So one may interpret this as saying that what constitutes a simple language is not universal.
For me, functional programming is a mixed bag. It is much more in line with my thoughts and algorithms. However, it can get to be difficult to read, like LISP. If a language has object oriented capabilities, I greatly appreciate the ability to overload operators. For adding vectors u and v with 'u+v' is much nicer than 'Vector.add(u, v)'. To sum up, a function language which is easy to read is to me a simple language. I believe that the readability of code is indirectly related to the skill level of the least skilled person who can still have a good understanding of what the code is doing.
Sweet, now I can play with myself.
Offline
sarah31 wrote:Most answers in this regard will boil down to what language someone really likes.
Not really. My languages of choice are Java and Groovy, yet I was arguing in favour of Python for simplicity. Java is not simple. But I like it.
I think we are here getting a direction/answer. If we consider KISS having two sides (writable and readable) and if related to an user contributed program, wanting others to support, will not the readable side become more important?
If not easily writable its the developer's "headache" (no devs will mind the trouble if he/she likes the language). From my experience its difficulty to write from scratch, but quite easy to hack/improve difficult languages as long as they are easily readable.
How about languages with an utility tool or toolkit e.g. a GUI? Will not the reading and hacking become easier. Also the writable. Example, Dialog for BASH and Prima for PERL.
http://www.prima.eu.org/big-picture/
EDIT
What other languages have utility tools? ... Python?
Markku
Offline
Pages: 1