You are not logged in.

#1 2005-07-07 04:26:23

rasat
Forum Fellow
From: Finland
Registered: 2002-12-27
Posts: 2,296
Website

A KISS language?

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

#2 2005-07-07 04:50:30

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: A KISS language?

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

#3 2005-07-07 04:52:12

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: A KISS language?

Aye, ill agree on python (me a python user)
Ruby looks pretty simple too.

Lua is evil, really unusual smile

iphitus

Offline

#4 2005-07-07 05:01:21

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: A KISS language?

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

#5 2005-07-07 05:23:22

rasat
Forum Fellow
From: Finland
Registered: 2002-12-27
Posts: 2,296
Website

Re: A KISS language?

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

#6 2005-07-07 05:32:08

iBertus
Member
From: Greenville, NC
Registered: 2004-11-04
Posts: 2,228

Re: A KISS language?

i don't consider lua evil, but the bit of C/C++ code required to call an external Lua function is pure evil.

Offline

#7 2005-07-07 05:33:54

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: A KISS language?

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

#8 2005-07-07 06:11:32

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: A KISS language?

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

#9 2005-07-07 06:24:12

elasticdog
Member
From: Washington, USA
Registered: 2005-05-02
Posts: 995
Website

Re: A KISS language?

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

#10 2005-07-07 07:30:47

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: A KISS language?

rasat wrote:

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

#11 2005-07-07 08:20:49

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: A KISS language?

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

#12 2005-07-07 13:07:04

rasat
Forum Fellow
From: Finland
Registered: 2002-12-27
Posts: 2,296
Website

Re: A KISS language?

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:

Dusty wrote:

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

#13 2005-07-07 13:43:03

sweiss
Member
Registered: 2004-02-16
Posts: 635

Re: A KISS language?

Python reigns supreme.

Offline

#14 2005-07-07 14:31:25

mmgm
Member
From: Israel
Registered: 2005-05-26
Posts: 52
Website

Re: A KISS language?

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

#15 2005-07-07 14:43:12

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: A KISS language?

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

#16 2005-07-07 15:12:28

sarah31
Member
From: Middle of Canada
Registered: 2002-08-20
Posts: 2,975
Website

Re: A KISS language?

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

#17 2005-07-07 15:24:04

Dusty
Schwag Merchant
From: Medicine Hat, Alberta, Canada
Registered: 2004-01-18
Posts: 5,986
Website

Re: A KISS language?

sarah31 wrote:

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

#18 2005-07-07 19:34:51

poetofnumbers
Member
From: Kansas, United States
Registered: 2004-10-30
Posts: 106
Website

Re: A KISS language?

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

#19 2005-07-08 03:28:36

rasat
Forum Fellow
From: Finland
Registered: 2002-12-27
Posts: 2,296
Website

Re: A KISS language?

Dusty wrote:
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

Board footer

Powered by FluxBB