TIOBE December 2015 - D rose 5 positions
Joakim via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jan 6 20:43:28 PST 2016
On Wednesday, 6 January 2016 at 18:52:05 UTC, Ola Fosheim Grøstad
wrote:
> On Wednesday, 6 January 2016 at 16:52:34 UTC, Joakim wrote:
>> Swift is dumbed down?
>
> Yes, they are streamlining for apps. It is ARC through and
> through. They are removing things like "++", currying and
> C-style for-loops; in order to make the language simpler for
> programmers. Cutting complexity where it isn't really adding
> much to the language in _typical_ scenarios.
Eh, those removals are all well though-out and sensible, D has
similar opinions. I was impressed that most of the stuff they
say they _won't_ remove is related to C-style syntax:
https://github.com/apple/swift-evolution/blob/master/commonly_proposed.md
They aren't making the mistake of many other languages- cough,
Haskell, rust, cough- of inventing new syntax for no real reason.
Most programmers have a C-style parser wired into their heads:
you cannot replace it.
btw, maybe Walter and Andrei should write up a similar list on
the wiki, would be easy for us to point noobs who want one of
those features to it.
>> I'm surprised you started off by saying that 80%/GC is the
>> big market, but now believe D should be "advanced."
>
> It is the bigger crowded tooling-demanding market where you
> have Java, C#, Go, Swift and a slew of others. Without tooling
> you don't stand a chance in that market.
D aimed for the niche right below that, with higher efficiency,
that Swift is now also going after. It turns out that efficiency
matters, which is why Java and C# never made much headway in
application programming, certainly not outside their enterprise
niches, ie consumers don't use Java/C# apps, and are now both
AoT-compiled on mobile.
> And really, if you want to compete with C, you can't really be
> in that market. Do it well, or not at all.
C is so old and outdated that you could wrap up both. It may be
harder, but it can be done. C++ certainly took some share from C
over the years, D could do even better with a lighter runtime. D
hasn't really focused on that yet, but I think Walter wants to
one day.
>>> Swift3 probably will try to get closer to C though. Apple
>>> seems to be focused on making C less frequently needed.
>>
>> So they too will try to straddle both horses!
>
> No, they aim for ABI stability and portability. No concurrency
> features.
>
> https://github.com/apple/swift-evolution
Not sure how ABI stability/portability hurts that, but is Swift
going after C or not? You seem to say they are, then they
aren't. Going after lower-level code that would use C is the
other horse you mentioned, so if they are, they're trying to
straddle both.
>> Traditionally, it's been C and C++. I could see D providing a
>> lighter version that went after C, especially in embedded,
>> while the current version competes with C++.
>
> With at different team?
Walter is the team. :) He's done embedded work before, he's aware
of the challenges.
>> We're talking cross-platform here, Swift isn't even in the
>> game till they get on other platforms than OSX/iOS.
>
> But who are using D for cross platform development today? Isn't
> Linux the primary platform in real world use (i.e. deployment)?
I don't know, and probably. But D runs well on all the major
desktop/server platforms and soon the two major mobile platforms,
not to mention upcoming platforms like wearables and smart TVs,
which D devs are currently testing. Get back to me when Swift
can say that.
>> more every year. Apple does it by continually staying at the
>> top of the performance heap, with their in-house designed
>> custom ARM cores blowing away the benchmarks year after year
>
> I don't really think consumers know what they buy, but people
> tend to want the same UI experience... so switching over takes
> time.
The latest iPhone always blows away any Android phone on measures
of UI lag. Users don't know what makes a phone fast- the
components mentioned before, along with not using Java and its
GC-caused lag for your apps- but they can see when it is.
>> Maybe, but I don't see them willingly choosing javascript. :)
>
> They'll be forced to. Managers will choose whatever readymades
> carry name recognition... ;^) Java, .NET, node.js, Angular...
And with javascript losing its browser monopoly, it will slide
down that list. :)
>> I think most users are used to the web being different or
>> don't care about the "look and feel."
>
> Most users probably don't care, but people who spec mobile apps
> put it into the requirements.
Which is why I said it's dumb, because most users don't actually
care about that. One of the biggest herd behaviours I've seen in
recent years is the crazy drive to build mobile apps to replace
perfectly functional webapps, whose CSS UI could be simply redone
for mobile too. Unless you have a compelling reason to be
mobile-first, many are just wasting money.
>> So "dominant" that Facebook ditched their HTML5 mobile app for
>> native and Snapchat doesn't even have a webapp! HTML5 may now
>> be fairly ubiquitously _implemented_ in current browsers, but
>> you greatly overestimate how many devs are using it or want to.
>
> Not sure what you mean, Facebook invest a lot of money into web
> tech like React. If anything Facebook is heavily pushing
> WebApps by funding the frameworks that enables it.
Perhaps you haven't heard, but the original Facebook mobile app
was simply their HTML5 site bundled on mobile, then they switched
to native years ago for efficiency:
https://facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920
They may still use and release legacy HTML5 frameworks, ;) as
that's where they started, but almost half of their users now
only use the native mobile apps, and that mobile-only user share
keeps growing:
http://venturebeat.com/2015/07/29/nearly-half-of-facebooks-users-only-access-the-service-on-mobile/
Others have followed them in ditching HTML5.
>> I don't get it: you have access to a debugger _in the
>> customer's browser_ with ES7?
>
> All browsers have debuggers built in...
I wouldn't know as Chrome is all I use in recent years, and I
thought that was the only browser that always came with one. In
any case, your point is still unclear: why would WebAsm not have
the same browser support?
>> Every time this happens over the previous decades, something
>> simpler comes along and 80/20s the past bloated tech. The web
>> is _long_ overdue for this. They're finally trying to clean
>> it up a bit, with the recent HTTP/2 and WebAsm moves, but it
>> isn't enough.
>
> I don't see HTTP/2 and WebAsm as a big thing. It is just
> another step to make web a more solid cross platform deployment
> platform.
They cannot fix the real problem, the baroque architectural pasta
of HTMl/CSS/DOM, but those moves make those two components much
more efficient, which certainly helps.
> I don't spend much time on compatibility tweaks anymore. I
> don't mind spending 1% on cross platform. That's actually
> pretty impressive. Try to get there with native apps on 5
> platforms: Linux, OS-X, Windows, Android, iOS... Impossible.
It can be done, but it's not actually what I'm suggesting. I
think there will be some new cross-platform approach that takes
over the web's spot. I've suggested a re-architecting of the web
approach before, to focus on efficiency and extreme simplicity of
graphical layout in the client:
http://forum.dlang.org/post/dqddjhccpmxhgcssqtol@forum.dlang.org
I used to want to work on that approach, but I now actually think
that entire client-server model is outdated. I suspect what's
coming is more of a p2p approach, where smartphones simply pass
data to each other, then construct UIs customized for the user
out of the data they want to see. That's my guess, but whatever
it is, it will kill the web.
More information about the Digitalmars-d
mailing list