Swift Syntax is too complex, use Smalltalk syntax instead

Originator:marcel.weiher
Number:rdar://17180612 Date Originated:June 5th 2014
Status:Closed Resolved:Won't fix
Product:Xcode Product Version:6.0
Classification:Other Bug Reproducible:N/A
 
Summary:
Swift is described as "Objective-C without the C".  Objective-C was C + Smalltalk, so subtracting C yields Smalltalk.

Trying to map Objective-C keyword syntax to function-call / dot syntax brings significant complexity to the language without commensurate benefits.  The section of the language spec. describing external vs. internal parameter names is larger than the entire Smalltalk language spec.

"Modern Syntax" was tried before, and it was overwhelmingly rejected by the developer community.  Developers are accustomed to Objective-C message syntax (which is Smalltalk syntax), and the APIs don't have to be mapped, so there is less effort.

Steps to Reproduce:
Try to use reasonable syntax in Swift.
Try to comprehend the language specification.


Expected Results:
Syntax is easy to use + understand.

Actual Results:
Struggle with "where does the first parameter name go", "how do these things map" etc.

Comments

Smalltalk syntax is too complex, use lisp syntax instead.

Well, if we are to give our opinion, then I would suggest lisp.

For one thing lisp syntax is the simpliest of all.

For another thing, lisp metaprogramming features let you complexify if you want or need to. Specifically, in Common Lisp, you can write a reader macro to implement any syntax you want, so for example, you can implement the smalltalk syntax WITHOUT having to post a radar and to lobby Apple to change its language!

See for example: https://groups.google.com/forum/message/raw?msg=comp.lang.lisp/AkU0JCnGGAA/bHGf3_NrlvcJ

When will wee stop beating around the bush, and just use lisp for all programming?

By informatimago at Oct. 23, 2014, 7:22 p.m. (reply...)

Either that or employ s-expressions to go achieve nirvana.

+1

Sad but true


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!