kc
2015-10-01 10:32:27 UTC
Interesting comment re Swift:
Beyond its implementation, the developer-facing aspects of Swift do embody
I like Swift but in some ways it has gone too low-level and lost some
dynamism. Dart 2.0 with a more 'high-level' application focus (especially
with Flutter) could move into this vacated niche.
Currently Dart (with Checked Mode) looks more 'static' than Swift.
K.
Beyond its implementation, the developer-facing aspects of Swift do embody
a specific philosophy about software development. Iâve been writing
software professionally for 18 years, and I definitely have my own opinions
about language design. For example, I find any coding done in service of
the type system to be mostly wasted effort when writing high-level code
that controls things like which window appears when a certain button is
pressed or which data is fetched from or stored into a database.
Swiftâs type inference alleviates some of this pain, but it doesnât change
the inherent static typing of the language. The choice between static and
dynamic typing is not just based on the effects each approach has on
compiler implementation. Itâs alsoâperhaps even primarilyâa philosophical
choice about what constitutes âgood code.â
Motivations aside, itâs the practical consequences of Swiftâs design
philosophy that make it resilient to my complaints. I admire Swiftâs
ambitious mission and I understand how essential each one of its features
is to achieving it.
The strongest arguments against Swift are ultimately questions about that
mission. Swift could be a much friendlier high-level language if it gave up
on being an âindustrial-quality systems programming language.â On the other
side of the coin, Swift could be vastly simpler if it focused exclusively
on being just âa better C.â Few languages have even attempted to do what
Swift is doing. The degree of difficulty is high and self-imposedâin other
words, a typical Apple move.
http://arstechnica.com/apple/2014/10/os-x-10-10/23/software professionally for 18 years, and I definitely have my own opinions
about language design. For example, I find any coding done in service of
the type system to be mostly wasted effort when writing high-level code
that controls things like which window appears when a certain button is
pressed or which data is fetched from or stored into a database.
Swiftâs type inference alleviates some of this pain, but it doesnât change
the inherent static typing of the language. The choice between static and
dynamic typing is not just based on the effects each approach has on
compiler implementation. Itâs alsoâperhaps even primarilyâa philosophical
choice about what constitutes âgood code.â
Motivations aside, itâs the practical consequences of Swiftâs design
philosophy that make it resilient to my complaints. I admire Swiftâs
ambitious mission and I understand how essential each one of its features
is to achieving it.
The strongest arguments against Swift are ultimately questions about that
mission. Swift could be a much friendlier high-level language if it gave up
on being an âindustrial-quality systems programming language.â On the other
side of the coin, Swift could be vastly simpler if it focused exclusively
on being just âa better C.â Few languages have even attempted to do what
Swift is doing. The degree of difficulty is high and self-imposedâin other
words, a typical Apple move.
I like Swift but in some ways it has gone too low-level and lost some
dynamism. Dart 2.0 with a more 'high-level' application focus (especially
with Flutter) could move into this vacated niche.
Currently Dart (with Checked Mode) looks more 'static' than Swift.
K.
--
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.