On Wednesday, 3 January 2018 at 16:20:48 UTC, Joakim wrote:
These languages may all have these problems, but I don't see the connection to your original point about it not being good to think you're the best.

Hm? I tried to say that it is not good to think that you have the best programmers. Or that you are satisfied with only appealing to the best programmers.

There are some assumptions about "best" in that attitude that isn't healthy for developing an ecosystem. First of all, it might not be true, maybe the best programmers go elsewhere. Second of all, programmers generally don't start out as "best". And only appealing to experience programmers is not a good long term strategy.

Anyway, you probably have a lot more great programmers using Javascript than any small language, measured in absolute numbers. And when growing a eco system it is those absolute numbers that matters. It doesn't matter if 99% are not good if the other 1% can grow your infrastructure. And well, right now that means developers can be very productive in that eco system (e.g. TypeScript, Angular, React etc).


More programmers don't have a bachelors in CS than those who do. I think you'll find the percentage who regularly use multiple languages is fairly low, let alone evaluating each one for each job.

I think it depends on what type of developement we are talking about. But I see a lot of fuzz about fullstack developers. Not sure if that fuzz translates into something at scale, but "full-stack" is at least something that is mentioned frequently.


Anyway, it is my impression that many C/C++ programmers also know Python and also have a good understanding of basic functional programming.

So two tools in the toolbox is enough?

Not sure what you mean by that. I meant to say that my impression is that most C/C++ programmers need a higher level language and also are capable of using other paradigms than what C/C++ encourages. Despite C++ being able to express a lot of the same things and also despite C++ being a language where you never really reach a full deep understanding of the language.

Your company is much more likely to bring in somebody with Java experience to write the Android portion.

Mostly because of the iOS/Android frameworks, not really because of the languages.

Or rather, the Java language shouldn't be the stumbling block, but both of iOS and Android are rather bloated frameworks that takes time getting into. Which I think it is intentional. Both Apple and Google want developers to be dedicated experts on their platform and seems to deliberately go for changes that prevent cross platform tooling.

It is unrealistic to expect the vast majority of programmers to do any more than use one language most of the time.

I don't know. Depends on what kind of development we are talking about.

This actually argues for a single language: you're going to spend a ton of time tracking all those shifting frameworks so you won't have time for a new language too, but at least you won't have to learn a new language every time you pick up the new js framework of the day.

I think there is another way, but it isn't available yet.

Program transliteration and software synthesis should over time be able to offset some of these issues.

Most imperative languages are fairly similar. Most of the code we write, whether it is in Python, C+ or D would have a fairly similar structure. In some sections you get something very different, but I don't think that is dominating.

(Functional and logic programming tend to lead to more different patterns though.)

The ongoing churn may help new languages with new users and companies, don't think it helps with users who already know a language well.

I don't know. Seems that many in these forums have done work in Java, Go, Python, Rust and C++.

Seems like an oxymoron, tech changes so fast that I don't see how anything could be timeless, even if you really mean "will still be the same 20 years from now." ;)

Right, but digital computing is a relatively new invention (and well, even electricity is relatively new ;-). Over time one would think that something "timeless" would establish itself. But for now we can just say "stable".

There clearly are some frameworks that have been relatively stable. Like matlab. I think that is because matlab has tried to closely model the domain that scientists have been trained in (linear algebra). But it is interesting that Python is making inroads there. That matlab is now perceived as not having good enough abstraction mechanisms, perhaps.

On the other hand, the mathematical field of logic is also relatively new as it is conceptualized today, and some people are exploring paradigms such as probabilistic programming languages and what not… So right, "timeless" is not realistic at the moment as the basic foundation is still quite new and we are still learning how to make computers reason about first order logic… (building automatic theorem provers).

There's always new stuff other than that, eg more limited mobile hardware over the last decade has returned the tech market to earlier times, and native languages like Obj-C and Swift have benefited.

Yeah, as you have pointed out many times, mobile CPUs are quickly catching up at the high end and also to some extent on the middle-end. What remains to be seen is how the mass-market low end picks up. I think companies like Motorola is pushing the curve at the low/middle phone market as Samsung and Apple have taken the high end.

Python has done well in those niches, but when is the last time you saw a popular GUI app written in Python?

Many applications use Python (or Lua or Java or even Visual Basic) to tie the pieces together, including the GUI, but they use engines written in other languages for interfacing with the OS.

Even Java got nowhere in the consumer GUI market, other than a few p2p apps like Vuze and the now-defunct Limewire, largely for piracy.

JetBrain's products?


While that market may be important to you, it is a small segment of the programming market. It's nice that D libraries like Mir are targeting it, but it's not going to move the needle much.

Mmm… it is a small segment of the revenue-based market, because scientific programmers are often the scientists themselves (no it is not important to me at the moment). It is a fairly large segment though of the overall market. As it includes a lot of engineering. Just because those programs aren't sold, either because they are in-house, personal or with a very narrow user base (like researchers) doesn't mean that these programs are less important.


I believe it is filtered for repeated downloads, but we don't know exactly how.

That's a shame. I'd be interested in knowing what the distribution over the different nordic countries is.

You may not even know that's because of generic programming, you just like all the great libraries. IOW, you may think you don't need generic programming, but the libraries you do need do need it.

That's right, but you need critical mass for it to matter. Otherwise people will just use somewhat slower or somewhat more clunky libraries. Go, Python and JavaScript are doing fine… without proper generics.

(TypeScript is better suited for building libraries, but most libraries with TypeScript support are JavaScript libraries with TypeScript type definitions.)

Reply via email to