Jump to page: 1 25  
Page
Thread overview
[Semi OT] The programming language wars
Mar 20, 2015
deadalnix
Mar 20, 2015
Walter Bright
Mar 20, 2015
Paulo Pinto
Mar 20, 2015
Walter Bright
Mar 20, 2015
w0rp
Mar 20, 2015
Paulo Pinto
Mar 20, 2015
Paulo Pinto
Mar 20, 2015
ketmar
Mar 20, 2015
H. S. Teoh
Mar 20, 2015
CraigDillabaugh
Mar 20, 2015
Paulo Pinto
Mar 20, 2015
ketmar
Mar 21, 2015
Joakim
Mar 21, 2015
H. S. Teoh
Mar 21, 2015
FG
Mar 21, 2015
Piotrek
Mar 21, 2015
Paulo Pinto
Mar 21, 2015
deadalnix
Mar 21, 2015
Joakim
Mar 23, 2015
Paulo Pinto
Mar 23, 2015
deadalnix
Mar 21, 2015
Joakim
Mar 21, 2015
FG
Mar 29, 2015
Joakim
Mar 29, 2015
Abdulhaq
Mar 30, 2015
Joakim
Mar 30, 2015
Abdulhaq
Mar 31, 2015
ketmar
Mar 21, 2015
H. S. Teoh
Mar 21, 2015
Laeeth Isharc
Mar 20, 2015
ketmar
Mar 21, 2015
John Colvin
Mar 21, 2015
H. S. Teoh
Mar 20, 2015
weaselcat
Mar 21, 2015
Rikki Cattermole
Mar 20, 2015
deadalnix
Mar 20, 2015
Laeeth Isharc
Mar 20, 2015
Walter Bright
Mar 21, 2015
John Colvin
Mar 22, 2015
Atila Neves
Mar 22, 2015
deadalnix
Mar 22, 2015
FG
Mar 23, 2015
Kagamin
March 20, 2015
I let this here. Very interesting and relevant to anyone here.

https://www.youtube.com/watch?v=mDZ-QSLQIB8
March 20, 2015
On 3/19/2015 10:46 PM, deadalnix wrote:
> I let this here. Very interesting and relevant to anyone here.
>
> https://www.youtube.com/watch?v=mDZ-QSLQIB8

It's nearly an hour long. Got a TL;DW ?
March 20, 2015
On Friday, 20 March 2015 at 07:14:58 UTC, Walter Bright wrote:
> On 3/19/2015 10:46 PM, deadalnix wrote:
>> I let this here. Very interesting and relevant to anyone here.
>>
>> https://www.youtube.com/watch?v=mDZ-QSLQIB8
>
> It's nearly an hour long. Got a TL;DW ?

Language features should be tested with real users using scientific validation processes, instead of being blindly added to a language.

This means using tests groups with different types of backgrounds, applying the features in several situations, devising specific set of measurable targets and applying the whole statistic analysis to the results.

For example, instead of having an online forum which syntax would be desired for the new feature X, have the whole set of options implemented and see which of them achieves better results with the respective study groups.

An example that stuck with me was that languages that follow Algol/Pascal syntax lead themselves to less bugs, than those that follow C like syntax.

There are quite a few other examples. Also the mention that as far as the researcher is aware, only Microsoft is pursuing such studies for language features. Don Syme is in the audience and gives an example how they did it for .NET generics.

--
Paulo

March 20, 2015
Thanks!
March 20, 2015
On Friday, 20 March 2015 at 07:37:04 UTC, Paulo  Pinto wrote:
> An example that stuck with me was that languages that follow Algol/Pascal syntax lead themselves to less bugs, than those that follow C like syntax.

That's probably skewed by C being the most popular language, which is optimised for bug creation.
March 20, 2015
On Friday, 20 March 2015 at 11:48:20 UTC, w0rp wrote:
> On Friday, 20 March 2015 at 07:37:04 UTC, Paulo  Pinto wrote:
>> An example that stuck with me was that languages that follow Algol/Pascal syntax lead themselves to less bugs, than those that follow C like syntax.
>
> That's probably skewed by C being the most popular language, which is optimised for bug creation.

I said scientific studies, not asking joe/jane developer.

Pick a random set of people without programming skills, using imaginary language X, with two types of syntax's to code a set of tasks in separate groups, one for each syntax.

Measure each group behavior using proven analysis methods.

At end of the study, the groups using the Algol based syntax will deliver less bugs.


--
Paulo
March 20, 2015
On Friday, 20 March 2015 at 12:00:35 UTC, Paulo  Pinto wrote:
> At end of the study, the groups using the Algol based syntax will deliver less bugs.

I think language syntax design these days should include the IDE. E.g. Dart's syntax is nothing special and not good at preventing bugs in itself, but the Dart syntax works very well when used with the Dart editor (based on Eclipse).

These days it probably is a mistake to design a language syntax without considering what kind of IDE design the language is supposed to be used with.
March 20, 2015
On Friday, 20 March 2015 at 12:07:25 UTC, Ola Fosheim Grøstad wrote:
> On Friday, 20 March 2015 at 12:00:35 UTC, Paulo  Pinto wrote:
>> At end of the study, the groups using the Algol based syntax will deliver less bugs.
>
> I think language syntax design these days should include the IDE. E.g. Dart's syntax is nothing special and not good at preventing bugs in itself, but the Dart syntax works very well when used with the Dart editor (based on Eclipse).
>
> These days it probably is a mistake to design a language syntax without considering what kind of IDE design the language is supposed to be used with.

Given that I have been an IDE fan since the Amiga days, I fully agree.

Every time I am on UNIX I feel like a time travel to the days of yore.

Thankfully the situation has improved a lot in the last decade.

--
Paulo


March 20, 2015
On Fri, 20 Mar 2015 13:28:45 +0000, Paulo  Pinto wrote:

> Given that I have been an IDE fan since the Amiga days, I fully agree.
> 
> Every time I am on UNIX I feel like a time travel to the days of yore.

being on non-nix system is a torture. there aren't even gcc, let alone emacs/vim.

March 20, 2015
On Fri, Mar 20, 2015 at 05:04:20PM +0000, ketmar via Digitalmars-d wrote:
> On Fri, 20 Mar 2015 13:28:45 +0000, Paulo  Pinto wrote:
> 
> > Given that I have been an IDE fan since the Amiga days, I fully agree.
> > 
> > Every time I am on UNIX I feel like a time travel to the days of yore.
> 
> being on non-nix system is a torture. there aren't even gcc, let alone emacs/vim.

Yeah, I've become so accustomed to the speed of keyboard-based controls that every time I use my wife's Windows laptop, I feel so frustrated at the rodent dependence and its slowness that I want to throw the thing out the window.

But at another level, it's not even about keyboard vs. rodent... it's about *scriptability*. It's about abstraction. Typing commands at the CLI, while on the surface looks so tedious, actually has a powerful advantage: you can abstract it. You can encapsulate it into a script. Most well-designed CLI programs are scriptable, which means complex operations can be encapsulated and then used as new primitives with greater expressiveness.

Sure you can have keyboard shortcuts in GUI programs, but you can't abstract a series of mouse clicks and drags or a series of keyboard shortcuts into a single action. They will forever remain in the realm of micromanagement -- click this menu, move mouse to item 6, open submenu, click that, etc.. I have yet to see a successful attempt at encapsulation a series of actions as a single meta-action (I've seen attempts at it, but none that were compelling enough to be useful.) You can't build meta-meta-actions from meta-actions. Everything is bound to what-you-see-is-all-you-get. You can't parametrize a series of mouse interactions the same way you can take a bash script and parametrize it to do something far beyond what the original sequence of typed commands did.

Ultimately, I think rodent-based UIs will go the way of the dinosaur. It's a regression from the expressiveness of an actual language with grammar and semantics back to caveman-style point-and-grunt. It may take decades, maybe even centuries, before the current GUI trendiness fades away, but eventually it will become obvious that there is no future in a non-abstractible UI. Either CLIs will be proven by the test of time, or something else altogether will come along to replace the rodent dead-end with something more powerful. Something abstractible with the expressiveness of language and semantics, not regressive point-and-grunt.


T

-- 
Indifference will certainly be the downfall of mankind, but who cares? -- Miquel van Smoorenburg
« First   ‹ Prev
1 2 3 4 5