LinuxQuestions.org
Help answer threads with 0 replies.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 05-09-2015, 09:21 PM   #1
punchy71
Member
 
Registered: Dec 2011
Posts: 171

Rep: Reputation: Disabled
What are the top few most human-readable programming languages?


Hello,
I am trying to consider the top three or so most human-readable computer programming languages. After doing a little research, I have pretty much settled on Python being one of them. Perhaps it would even be the number one... in terms of being easy to read and comprehend by human beings. But what would a few more be?
Thank you
 
Old 05-10-2015, 02:27 AM   #2
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 9,144

Rep: Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967Reputation: 3967
You're really asking which languages are highest level. And framed like that, it can't answered with individual choices, but languages can certainly be categorized into "candidate" and "not a candidate".

That said, my Google result was highly amusing.
Attached Thumbnails
Click image for larger version

Name:	highest_level_programming_language.png
Views:	303
Size:	57.3 KB
ID:	18403  

Last edited by dugan; 05-10-2015 at 02:42 AM.
 
Old 05-10-2015, 12:49 PM   #3
jmccue
Member
 
Registered: Nov 2008
Location: US
Distribution: slackware
Posts: 318

Rep: Reputation: 157Reputation: 157
Cobol
 
2 members found this post helpful.
Old 05-10-2015, 12:55 PM   #4
metaschima
Senior Member
 
Registered: Dec 2013
Distribution: Slackware
Posts: 1,982

Rep: Reputation: 491Reputation: 491Reputation: 491Reputation: 491Reputation: 491
Ruby and Bash are also pretty good examples.
 
Old 05-10-2015, 01:33 PM   #5
NevemTeve
Senior Member
 
Registered: Oct 2011
Location: Budapest
Distribution: Debian/GNU/Linux, AIX
Posts: 3,860

Rep: Reputation: 1344Reputation: 1344Reputation: 1344Reputation: 1344Reputation: 1344Reputation: 1344Reputation: 1344Reputation: 1344Reputation: 1344Reputation: 1344
Why, $(shell) ~scripts are `counter`-examples: they are easy to write, hard to understand or modify.
Of curse brainfuck is worse, never mind Forth.
 
Old 05-10-2015, 02:10 PM   #6
Myk267
Member
 
Registered: Apr 2012
Location: California
Posts: 422
Blog Entries: 16

Rep: Reputation: Disabled
It seems like most languages would be human readable if you knew how to read them.
 
1 members found this post helpful.
Old 05-10-2015, 02:15 PM   #7
John VV
LQ Muse
 
Registered: Aug 2005
Location: A2 area Mi.
Posts: 17,453

Rep: Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601Reputation: 2601
Quote:
Cobol
how about BASIC or FORTRAN

but for "human readable"
all of them

there are people that are fluent in assembly
 
2 members found this post helpful.
Old 05-10-2015, 02:29 PM   #8
DJ Shaji
Member
 
Registered: Dec 2004
Location: Yo Momma's house
Distribution: Fedora Rawhide, ArchLinux
Posts: 517
Blog Entries: 15

Rep: Reputation: 106Reputation: 106
I'd say python, but yeah, depends on what human is reading them

Last edited by DJ Shaji; 05-10-2015 at 02:30 PM.
 
Old 05-10-2015, 02:50 PM   #9
dogpatch
Member
 
Registered: Nov 2005
Location: Central America
Distribution: Mepis, Android
Posts: 377
Blog Entries: 4

Rep: Reputation: 170Reputation: 170
Quote:
Originally Posted by jmccue View Post
Cobol
Agree.
 
Old 05-10-2015, 03:09 PM   #10
metaschima
Senior Member
 
Registered: Dec 2013
Distribution: Slackware
Posts: 1,982

Rep: Reputation: 491Reputation: 491Reputation: 491Reputation: 491Reputation: 491
It really does depend on if you know the language whether it is readable to you. I find bash very readable, but I'm sure others don't think so. C is not very readable even tho I know it reasonably well. It's all the special characters and nuances that get me. It is readable but hard to read. There are solutions to this tho, for example there is a way to add more readable keywords using a .h file, I just forgot the name of it.
 
Old 05-10-2015, 09:36 PM   #11
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177Reputation: 3177
A determined programmer (or, just a careless one) can write unreadable code in any language. . .
 
1 members found this post helpful.
Old 05-11-2015, 09:47 AM   #12
dogpatch
Member
 
Registered: Nov 2005
Location: Central America
Distribution: Mepis, Android
Posts: 377
Blog Entries: 4

Rep: Reputation: 170Reputation: 170
Quote:
Originally Posted by sundialsvcs View Post
A determined programmer (or, just a careless one) can write unreadable code in any language. . .
lol. and i agree. But as a language, readability was always natural for Cobol (assuming the developer read English). For example, a typical line of Cobol code might be
Code:
Add ItemAmount to InvoiceTotal.
which code itself is self-explanatory, with no need of comments

The outline way of defining data is likewise self-evident and human readable. e.g
Code:
01 StudentDetails.
   02 StudentId        PIC 9(7). 
   02 StudentName. 
      03 FirstName     PIC X(10).
      03 MiddleInitial PIC X. 
      03 Surname       PIC X(15).
   02 DateOfBirth.
      03 DayOfBirth    PIC 99.
      03 MonthOfBirth  PIC 99.
      03 YearOfBirth   PIC 9(4).
   02 CourseCode       PIC X(4).
makes obvious the relationship between the various fields. So that
Code:
Move spaces to StudentName
will obviously initialize all 3 fields associated, but will leave other fields untouched.

Perhaps I am not fully objective, since Cobol was my first programming language, and the intuitive nature of Cobol meant that I was able to concentrate on writing good logic without having to be a computer geek. I didn't have to understand how my logic was being converted into machine code. To learn C and other languages, I had to learn to think more like the computer and less like a human.
 
Old 05-11-2015, 10:15 AM   #13
suicidaleggroll
LQ Guru
 
Registered: Nov 2010
Location: Colorado
Distribution: OpenSUSE, CentOS
Posts: 5,573

Rep: Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134Reputation: 2134
Quote:
Originally Posted by dogpatch View Post
Code:
Move spaces to StudentName
will obviously initialize all 3 fields associated
I never would have guessed that.

As has been said above, a language is only readable if you know it. If you know assembly, then assembly is perfectly readable. If you know C, then C is perfectly readable. I find your Cobol examples to be ugly as sin...WTF is "PIC 9(4)." or "PIC X(15)." supposed to mean? What does "Add ItemAmount to InvoiceTotal" do? Is InvoiceTotal just a running sum? A list? An array? What does "add" mean? Are you appending ItemAmount to a list or are you doing a simple mathematical sum? Not knowing Cobol, I find your examples to be very difficult to read and understand. That's how it is with all languages in my experience.
 
1 members found this post helpful.
Old 05-11-2015, 10:54 AM   #14
dogpatch
Member
 
Registered: Nov 2005
Location: Central America
Distribution: Mepis, Android
Posts: 377
Blog Entries: 4

Rep: Reputation: 170Reputation: 170
Quote:
Originally Posted by suicidaleggroll View Post
I never would have guessed that.
Perhaps because from the beginning of your career you were programming in C or Assembly and had to learn to think like the computer you were programming. So you have a hard time understanding that 'add' means 'add' as any non-tech person would already know intuitively. The non-tech would not immediately wonder whether an array or list were involved. Likewise, most folks learned in elementary school how to use an outline with numbered levels. Applying this non-tech understanding to data storage is, in my opinion, much more intuitive and human readable than having to understand structures, arrays, pointers, indirection and such - which was the OPs original question.
 
Old 05-11-2015, 12:28 PM   #15
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191
Quote:
Originally Posted by DJ Shaji View Post
I'd say python, but yeah, depends on what human is reading them
In the case of python, I think it depends a lot more on what human wrote it.

I would never include python in a list of the more human readable programming languages. Python was designed to be easy to write, not easy to read and it is especially easy to write bad python code than no one can read. Maybe some people write serious software in readable python, but I've never seen an example. The only big python projects I've had the misfortune to dig into were worse unreadable unmaintainable garbage than you are likely to find in almost any other language.

Pascal is more human readable than most programming languages for the same reasons it is a terrible language: It was designed to be readable by a really stupid compiler, without consideration given for the fact that making it that readable makes it much harder to write. While a human is very different from a really stupid compiler, there are many characteristics in common. Pascal is easier to read in ways that are independent of who is reading it.

Similarly, Java is easier to read than C++, in ordinary size projects, for pretty much the same reasons that Java is harder to use to write really large complicated software.

Ultimately, the size and complexity of the project becomes an overwhelming factor in whether the language is human readable. No one should claim C++ is high on the list of human readable programming languages, but as you scale up to bigger and more complicated projects, eventually C++ becomes the most human readable programming language, because it holds up better to bigger and more complicated projects than any other commonly used language.

Last edited by johnsfine; 05-11-2015 at 12:30 PM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
top command output in "human readable" custangro Linux - General 7 12-01-2017 11:53 AM
Human readable output from HP-UX Ejdaha Linux - Newbie 6 05-09-2013 02:05 AM
[SOLVED] Convert field from epoch to human readable sebelk Programming 6 01-08-2012 02:13 AM
[SOLVED] How to show the top processes eating RAM in human readable? quanta Programming 8 08-15-2010 08:56 AM
Human readable IP adresses from netfilter dividedby0 Linux - Networking 3 03-22-2009 12:10 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 11:15 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration