Other Programming Languages
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming Languages - MoreOther Programming Languages

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old July 3rd, 2008, 04:32 AM
audinue audinue is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jun 2008
Posts: 1 audinue User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 57 m
Reputation Power: 0
Talking Other Language - Good programming language features for you?

By the way, if you want to make a new programming language(read:your perfect programming language), what is the good features of yours then?

E.g.:
- Explicit data-type declaration and conversion, it's make my code clear and bug-free.
- Passing function parameter by reference, works with native API libraries.
- Unlimited number and array size, I'm always do dynamic programming.
- ...

Plus the reason please...

Reply With Quote
  #2  
Old July 3rd, 2008, 11:41 AM
medialint's Avatar
medialint medialint is offline
Type Cast Exception
Click here for more information.
 
Join Date: Apr 2004
Location: The Comfy Chair
Posts: 12,883 medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)medialint User rank is General 31st Grade (Above 100000 Reputation Level)  Folding Points: 258487 Folding Title: Super Ultimate Folder - Level 1Folding Points: 258487 Folding Title: Super Ultimate Folder - Level 1Folding Points: 258487 Folding Title: Super Ultimate Folder - Level 1Folding Points: 258487 Folding Title: Super Ultimate Folder - Level 1Folding Points: 258487 Folding Title: Super Ultimate Folder - Level 1Folding Points: 258487 Folding Title: Super Ultimate Folder - Level 1
Time spent in forums: 5 Months 7 h 20 m 15 sec
Reputation Power: 3042
Usually "By the way" is an added thought to a conversation. Interesting to start your very first post on a forum with it.

My number one feature is:

- Well organized and easily referenced documentation with clear and concise examples
__________________
medialint.com


"Beware of the man who works hard to learn something, learns it, and finds himself no wiser than before. He is full of murderous resentment of people who are ignorant without having come by their ignorance the hard way."
- Vonnegut - Cat's Cradle, 1963

Reply With Quote
  #3  
Old July 3rd, 2008, 09:51 PM
Dekudude's Avatar
Dekudude Dekudude is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2007
Location: Tucson, AZ
Posts: 288 Dekudude User rank is Sergeant (500 - 2000 Reputation Level)Dekudude User rank is Sergeant (500 - 2000 Reputation Level)Dekudude User rank is Sergeant (500 - 2000 Reputation Level)Dekudude User rank is Sergeant (500 - 2000 Reputation Level)Dekudude User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 1 Day 16 h 2 m 37 sec
Reputation Power: 11
Send a message via ICQ to Dekudude Send a message via AIM to Dekudude Send a message via MSN to Dekudude Send a message via Yahoo to Dekudude Send a message via Google Talk to Dekudude
I'd like a simple syntax, with a bunch of built in functions, for ease of use. :P


...AND NO DANG MODULES! *glares at Python*

Reply With Quote
  #4  
Old August 14th, 2008, 02:47 AM
netytan's Avatar
netytan netytan is offline
Hello World :)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Mar 2003
Location: Hull, UK
Posts: 2,536 netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Week 2 Days 18 h 11 m 13 sec
Reputation Power: 63
Send a message via ICQ to netytan Send a message via AIM to netytan Send a message via MSN to netytan Send a message via Yahoo to netytan
Recipe for my perfect language:

- Every single concept in the language should be first-class, highly composible and easily understood. The aim here is to create a language that is extremely flexible and expressive, but not at the expense of simplicity.


This was my goal in creating Hula, an experimental programming language based on a unique classless object-system and refined multiple-dispatch.

Although this sounds complicated all it really means is that everything in the language is an object, and that methods can be created that operate upon those objects individually; the correct behavior is chosen based on the identity of every object in the call. This allows an unprecedented amount of control. Any object can change independently of every other object.

The language has no variables, no scope and no syntax. Conceptually, it’s works on the principle of direct manipulation. Users interact with objects in a graphical environment ala the Self programming language.


The resulting language may actually be terrible, but at least in theory this is "my perfect language" .


Take care,

Mark.
__________________
programming language development: www.netytan.com Hula


Reply With Quote
  #5  
Old September 1st, 2008, 08:43 PM
jamieB jamieB is offline
Contributing User
Dev Shed Novice (500 - 999 posts)
 
Join Date: Nov 2002
Posts: 596 jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 3 h 19 m 33 sec
Reputation Power: 18
Most of the features I'm looking for are those of modern functional languages, e.g. haskell and ocaml, but with the addition of convenient-to-use dependent types. Type inference, referential transparency, pattern matching, higher order polymorphism, ADTs, GADTs. They all combine to produce elegant code.

Reply With Quote
  #6  
Old September 1st, 2008, 09:12 PM
netytan's Avatar
netytan netytan is offline
Hello World :)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Mar 2003
Location: Hull, UK
Posts: 2,536 netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Week 2 Days 18 h 11 m 13 sec
Reputation Power: 63
Send a message via ICQ to netytan Send a message via AIM to netytan Send a message via MSN to netytan Send a message via Yahoo to netytan
Quote:
Originally Posted by jamieB
Most of the features I'm looking for are those of modern functional languages, e.g. haskell and ocaml, but with the addition of convenient-to-use dependent types. Type inference, referential transparency, pattern matching, higher order polymorphism, ADTs, GADTs. They all combine to produce elegant code.


I disagree: while those features may combine to enable elegant code they certainly don't combine to produce it, at least not for any informed definition of elegant (Edit: or produce).

I would argue that many of the features that are typically associated with functional programming aren't inherently features of functional programming. Unfortunately people tend to mistake the paradigm and the features exhibited by languages of that type.

The commonly held belief that functional programming automatically leads to better code is damaging. Stop it now .

Enjoy,

Mark.
Comments on this post
jamieB agrees: Just as it's possible to write elegant Java, it's possible to write disorganised, confusing Haskell

Last edited by netytan : September 1st, 2008 at 09:15 PM.

Reply With Quote
  #7  
Old September 2nd, 2008, 04:02 AM
jamieB jamieB is offline
Contributing User
Dev Shed Novice (500 - 999 posts)
 
Join Date: Nov 2002
Posts: 596 jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 3 h 19 m 33 sec
Reputation Power: 18
I forgot some points which are even more fundamental --

Minimal syntax and a coherent foundation / core language. The bare minimum of odd one-off rules and gotchas (I don't know of any language that has none)
Static typing.
Higher order functions which allow currying and partial application.

Reply With Quote
  #8  
Old September 2nd, 2008, 06:54 AM
netytan's Avatar
netytan netytan is offline
Hello World :)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Mar 2003
Location: Hull, UK
Posts: 2,536 netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Week 2 Days 18 h 11 m 13 sec
Reputation Power: 63
Send a message via ICQ to netytan Send a message via AIM to netytan Send a message via MSN to netytan Send a message via Yahoo to netytan
Quote:
Originally Posted by jamieB
I forgot some points which are even more fundamental --

Minimal syntax and a coherent foundation / core language. The bare minimum of odd one-off rules and gotchas (I don't know of any language that has none)
Static typing.
Higher order functions which allow currying and partial application.



Hi Jamie ,

Higher-order functions are okay... but wouldn't higher-order forms be better? The ability to create and return new semantic concepts would make higher-order functions obsolete.


Maybe I'm to close to the project but I'm quite fond of the Hula core. The only thing I can say against it is that perhaps it's overly flexible: there are no one-off rules, because there are no fixed rules. I can't think of anything that couldn't be changed with relative ease.


It's a bit of a slut: happily exposing her implementation with her favorite objects .


If I do my job correctly then there wont be any one-off gotchas... not any... I guess that'll be a first.


Mark.


P.S. I'd love to debate this subject more with you.

Reply With Quote
  #9  
Old September 2nd, 2008, 07:19 AM
JavaNinja's Avatar
JavaNinja JavaNinja is offline
Contributing User
Dev Shed Novice (500 - 999 posts)
 
Join Date: Apr 2007
Location: in the ether
Posts: 841 JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level)JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level)JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level)JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level)JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level)JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level)JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level)JavaNinja User rank is First Lieutenant (10000 - 20000 Reputation Level) 
Time spent in forums: 1 Week 4 Days 18 h 35 m 3 sec
Reputation Power: 128
Quote:
Originally Posted by Dekudude
...AND NO DANG MODULES! *glares at Python*
lol I will join you, but I am glaring at PERL!!
__________________
Freedom for the Ogaden - imminent | Investment Banking Blog

Reply With Quote
  #10  
Old September 2nd, 2008, 07:27 AM
netytan's Avatar
netytan netytan is offline
Hello World :)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Mar 2003
Location: Hull, UK
Posts: 2,536 netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Week 2 Days 18 h 11 m 13 sec
Reputation Power: 63
Send a message via ICQ to netytan Send a message via AIM to netytan Send a message via MSN to netytan Send a message via Yahoo to netytan
Quote:
Originally Posted by JavaNinja
lol I will join you, but I am glaring at PERL!!


Haha yes.

As long as there is a convenient collision-free way to distribute code that others can use then the no-dang-modules requirement could be satisfied. There are several alternatives; does anyone care to suggest one?

Take care,

Mark.

Reply With Quote
  #11  
Old September 2nd, 2008, 10:00 AM
jamieB jamieB is offline
Contributing User
Dev Shed Novice (500 - 999 posts)
 
Join Date: Nov 2002
Posts: 596 jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level)jamieB User rank is Sergeant (500 - 2000 Reputation Level) 
Time spent in forums: 2 Days 3 h 19 m 33 sec
Reputation Power: 18
Quote:
Originally Posted by netytan
Hi Jamie ,

Higher-order functions are okay... but wouldn't higher-order forms be better? The ability to create and return new semantic concepts would make higher-order functions obsolete.


Hi, what exactly do you mean by higher-order form? Are there other languages with this feature? Does it sometimes go by another name, e.g. type constructors or first class types? If it is a more general concept than HOFs how would it represent a simple polymorphic function that takes one function to another like

Code:
f :: (a -> b) -> [a] -> [b]
f g = map g

> let h = f id in (h [1], h ['a'])
([1],  ['a'])


?

Reply With Quote
  #12  
Old September 2nd, 2008, 07:41 PM
netytan's Avatar
netytan netytan is offline
Hello World :)
Dev Shed Frequenter (2500 - 2999 posts)
 
Join Date: Mar 2003
Location: Hull, UK
Posts: 2,536 netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level)netytan User rank is Second Lieutenant (5000 - 10000 Reputation Level) 
Time spent in forums: 1 Week 2 Days 18 h 11 m 13 sec
Reputation Power: 63
Send a message via ICQ to netytan Send a message via AIM to netytan Send a message via MSN to netytan Send a message via Yahoo to netytan
I was referring to the idea that even "special" forms* can be and are first-class: they can be passed around and created at will. I'm unaware of any language which could support this, besides Hula.

In theory similar power could be pried from a Lisp system with first-class macros and no special forms, but that will never happen.

Does this clarify things?

Mark.


* There are absolutely no special forms to speak of in Hula. Instead it uses “reifiers” to implement a highly extensible language/interpreter/compiler, and make these details available to the programmer. The net result is that you can create new forms easily, and treat them around as first-class objects; higher-order functions work in this way.


Edit: Forth could support this is compiler words could be pushed into the stack.

Last edited by netytan : September 3rd, 2008 at 05:43 PM.

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming Languages - MoreOther Programming Languages > Other Language - Good programming language features for you?


Thread Tools  Search this Thread