Python and TypeScript Gain Popularity Among Programming Languages (venturebeat.com) 50
GitHub has released its annual Octoverse report, revealing trends in one of the largest developer communities on the planet, including a spike in open source project activity following the start of the COVID-19 pandemic. VentureBeat: JavaScript continues to be the most popular programming language on GitHub, while Python is now the second most popular, followed by Java and the fast-growing TypeScript community. Maintained by GitHub owner Microsoft, TypeScript has climbed from seventh place in 2018 and 2019 to fourth overall this year. PHP and Ruby, languages that ranked among the most popular five years ago, continued to decline in popularity.
TypeScript (Score:1)
From their page: Types provide a way to describe the shape of an object, providing better documentation, and allowing TypeScript to validate that your code is working correctly.
What does this even mean? How does a piece of code have a shape? Like the code is a hexagon?
Re: (Score:2)
What does this even mean? How does a piece of code have a shape? Like the code is a hexagon?
Its a new and trendy form of inheritance that uses dumbshit terminology like "shape" to advertise how its implemented differently than normal.
Re: (Score:3)
Re: (Score:2)
Shape implies a known form. Square, rhombus, octagon, etc etc. Code doesn't seem to fit that word.
Re: (Score:2)
Nope. There's a lot of different usages. "The shape of things to come", "Get myself into shape" etc. Even in the most stringent mathematical usage you can't say that it has a "known" form - are you saying a shape is only limited to something with a described name? What about the boundaries of a country? Is that not a shape? If I define a type hierarchy and connect edges in that hierarchy to sub types and associated types, wouldn't the resulting graph have a shape? Shape is absolutely an acceptable ter
Re: (Score:2)
Those are geometric shapes. Perhaps it depends on one's internal model of code. As a very spatial thinker the word 'shape' is a very good description of what I see in my head when thinking about code.
Likewise if we look at shape synonyms [thesaurus.com] it lists architecture, configuration, and model. All of those are pretty common when talking about code so, to me, shape doesn't even give pause when reading it in this context.
Re: (Score:2)
Code doesn't seem to fit that word.
Why not? You could actually apply it to several properties of code. V8 did that, for example. [mathiasbynens.be] (Actually it did that seemingly in a meaning compatible with the article sentence above.)
Re: TypeScript (Score:1)
Or, might it be, that some people without autism aren't counting beans, atom by atom, and understand abstractions, analogies, and can derive them from novel usages of words by themelves, including the resulting subtle nuances.
TL;DR: You need to go outside every once in a while, once this is over.
Re: (Score:3)
Says the person who posts numerous times to every single story...
Re: TypeScript (Score:2)
You need to be able to think a bit more fuzzy, if you want to survive in the real world. You know: More fuzzy and with awarenes of different contexts and analogies, and less like a autistic computer, no offense. :)
"Shape" in this context means its interface. You know: How you define something by what you can measure about it from the outside. Quacks like a duck and all.
Everyone gets that.
Re: (Score:2)
No.
There is no difference between these two statements in this context:
Types provide a way to describe the shape of an object
Types provide a way to describe an object
It's stupid, pointless, and adds no value.
Re:TypeScript (Score:5, Interesting)
From their page: Types provide a way to describe the shape of an object, providing better documentation, and allowing TypeScript to validate that your code is working correctly.
What does this even mean?
Ignore the marketing BS.
TypeScript is awesome. It takes 75% of the reason I HATE JavaScript and fixes it. It adds type safety. It adds functional intellisense and code completion (on VS Code). It makes cleaner code. It makes JS development so much faster and the end product so much more reliable. And it works everywhere because it compiles down to plain old JavaScript.
I've been on so many NodeJS projects that require 100% unit test coverage, which more than doubles development time and is basically worthless in a non-typesafe environment. Ditch that. Use Typescript. That one change will add more quality than any amount of unit tests and with no effort.
Yes, it's just window dressing on a fundamentally flawed language, but it works.
Re: (Score:1)
Not really. All it does is let you pretend that JavaScript is more akin to C# or Java. You get to use all of the outdated development techniques you've clung to over the last 20 years.
If you take the time to properly learn the language, you'd never go back to TypeScript.
Re:TypeScript (Score:4, Interesting)
Genuinely asking -- can you share an example of what kind of techniques of constructions you're talking about?
Re: (Score:2)
I'm also wondering. I mean, I do want to learn new techniques. I wonder if they know other languages have also advanced along with Javascript. The only immediate technique that strikes me as unique to JS as opposed to C# would be prototype based construction as opposed to class based construction.
Re:TypeScript (Score:5, Insightful)
Looking at TypeScript, it seems like if I'm going to work on someone else's code, I think I'd much rather them have written TypeScript than direct Javascript.
If I'm writing myself, I might prefer JavaScript as it can be a little less tedious.
All that said, TypeScript output is actually human readable Javascript, and given the tedium adds value for other people later and perhaps myself later, it seems to be worth it.
Re:TypeScript (Score:5, Insightful)
"Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. ...[Therefore,] making it easy to read makes it easier to write." Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship
It's also just courteous to the next sucker who has to read the code, and probably good karma.
Re: (Score:3)
And sometimes that next person is just the person who wrote the code, but a year or two later when they have to go back and add a feature or fix a bug and forgot what the old code does.
Re: (Score:2)
This isn't an easy discussion to have in an online format, particularly as we're operating from a different set of initial assumptions. For example, the bureaucracy and methodologies that come with conventional OOP I see as a primary cause of complexity -- not a means to manage it. You are not likely to agree with that statement, though it's not as heretical as it would have been even just 10 years ago.
The is the simplest way I can think to put this in the moment, and it will very likely be meaningless
... on GitHub. (Score:2)
Situation among everyone else who's not the type to use GitHub: Unknown.
See also: "Study claims X!" . . . "... in mice".
Yawn (Score:2)
And tomorrow it will some other set of languages/frameworks from some other website. "I asked 300 Typescript programmers what programming language they used - Surprise, Typescript is popular!"
Typescript is a linter you have to manually setup (Score:3, Informative)
Script language x "real" languages (Score:1)
Re: (Score:2)
I've pushed for Winforms development (with Linq and EF), it is fast to develop, perfect for corporate admin apps.
And then serve it up virtually.
We have developers that are stuck in the AS400 world that could pick up Winforms pretty easily (as opposed to a very heavy full stack web UI - no CSS, no "why on Earth is that Angular control not acting correctly!?!!?", complicated callback structures, and frankly, poorer performance than a virtualized "local" implementation).
Shoot use WPF if you want (which really
It's a really sad list (Score:3, Interesting)
It's really sad that none of the languages in the list, with the exception of Python, are really any good (people forget that Python code can be fast, so, yes, it's good enough).
I've used JS since the 90s. Server-side JS in the late 90s (Netscape server engine) was a simple, properly typed, compiled language. TypeScript, the less evil version of JS, tries in vain to handle the fact that modern JS is instead a convoluted step backwards from that. If Angular and React weren't using JS, JS and TypeScript wouldn't even be on this list.
I've also used Java since the 90s (I started with Java 0.9). Java's many new extensions are typically mediocre imitations of other languages, and they have made it overly complicated both for dev and maintenance, unlike when it used to be a good language for even beginning programmers, and very easy to maintain. C# is just more of the same.
Rust is so much better than C for the same low-level coding that it's embarrassing that C even exists for anything besides legacy code (speaking of which, it's time for a rewrite of Linux into Rust. Yeah, I said it).
Ruby reminds me a lot of Python, so it's not so bad, but it's almost always used with Rails. I'll admit Rails is a quick way to prototype a site, but it's not appropriate for anything big. Instead, it makes more sense to use Python with Django or similar, which is just as easy to work with, without the scalability issues.
Shell scripting has its place, but shell scripts are quite terrible, especially the Linux/UNIX/BSD ones, which are a mishmash of unrelated commands. There's actually a really good first step to solve that: somebody reimplemented bash as a modern real programming language, called "Crush". Data in Crush is passed around in fully typed streams, as the equivalent of rows in a DB or an array. Lots of cool features. Since it looks like Bash, it probably can be easily substituted for many shell scripts, adding dramatic improvements:
https://github.com/liljencrant... [github.com]
Facebook spent a fortune on PHP, and it's still so-so. The changes being made to it are a bit like putting a better engine and wheels on a model T. There are far better options:
Re: (Score:2)
C runs on everything, if you wanted to run Rust on something then you implement C, then use the C version of the compiler of your choice
Plus C can run on everything including the kind of machine Rust would take one look at and give up due to lack of resources
Re: (Score:2)
"fast" means good to you? Good to me means "gets the job done and is easy to maintain." If a program has to sit around waiting for the user , a database or middleware most of the time it doesn't matter if it's not "fast."
Re: (Score:2)
VS Code Is All Typescript (Score:5, Interesting)
Not having come up in the wonderful world of web programming, I'd been blissfully ignorant of Typescript, and only passingly familiar with Javascript (aka ECMA script). Bliss, like much else on this plane of existence, is there to be worn away, and wear away it did when I decided to write an editor extension for Microsoft's VS Code. What I needed was a custom editor for files containing historically interesting stuff, like Hollerith cards and 7-track magnetic tape. More than just a standalone editor app, I wanted something along the lines of an IDE. My choices boiled down to Qt Creator, VS Code, and Sublime.
Sublime was out right away because of its proprietary code base and its lack of sufficient interface surface to support a custom editor. Qt Creator could potentially do the job, but after spending too much time with the source code and its poorly documented plugin interface, I decided to cut my losses and give it up. That left VS Code.
Working through the VS Code extension examples, the way forward was clear, albeit a bit weird. VS Code has the Chromium web engine at its core. If you're writing an extension like mine you're going to create gobs of HTML and CSS for your presentation layer, extended with generous wedges of Typescript to give the whole some degree of functionality. In brief, your extension becomes a web application.
Here's the rub, Typescript is actually a pre-processor that converts an amorphous mess of Typescript into an equally amorphous mess of Javascript. Typescript is one of those languages that defies convention in ways that must appeal to someone, but not to me. For starters, there's no real language specification. Instead, Typescript du jour is described by a wiki maintained by Microsoft. Instead of any sort of standard library, a veritable zoo of NPM modules get glomed into your project, all with varying degrees of provenance and stability. You are left with all of the shortcomings of Javascript, one my least favorites being a complete lack of support for integer types.
To get something to work at all, it is necessary to make constant reference to online resources. This could very well be a reason why Typescript scores so well.
To summarize, Javascript is a turd that Typescript attempts to polish. Microsoft's VS Code is impressive in that it works at all, but in my opinion is taking itself and everyone who touches it down the road to fail.
Re: (Score:3)
Re: (Score:1)
Just curious: why didn't you look to Intellij IDEA Community Edition? Open source, has many plugins, you can write them in Java or Kotlin. Even Google uses it for its own IDE (Android Studio).
Typescript is not a programming language (Score:2)
It's a transpiled language (a meta language). Typescript transpiles to Javascript. Javascript is a scripting language and therefore also not a programming language. Javascript is processed by a Javascript interpreter that is hopefully written in an actual programming language that compiled to bytecode to be executed by the OS (for system calls) and hardware (CPUs, GPUs, network interfaces, and the like).
When a new language comes out, there are a zillion people who hop onto that bandwagon as they rewrite
Re: (Score:2)
Re: (Score:1)
"Scripting language" used to mean a relatively simple and lightweight language for ad-hoc automation and gluing different subsystems together. JavaScript may have started out that way, but it's since grown into something used for larger purposes, for good or bad. It's a dynamic language on par with other dynamic languages, such as Python.
Re: (Score:2)
Re: (Score:2)
I define programming as "telling the computer what to do". In some cases this is done by flipping switches, for example.
It seems like those who insist on separating scripting languages from other programming languages, are the same who foam about Wine not being an emulator. When they explain why Dosbox is an emulator but Wine is not, I just see a matter of degree. Both are using layers of abstraction to make a non-native program run on the host OS.
With the Tiny C Compiler [wikipedia.org], you can write scripts in C as
Re: (Score:1)
There are often debates about whether HTML and SQL are "programming languages" because they are not Turing Complete (TC). (Some dialects of SQL are.)
I'm not sure that should be a requirement, for they can still do useful work without being TC, and require programmers to decide how to turn ideas into code in them. Sub-systems often don't need TC to do their part. Ultimately most non-trivial systems need a TC coordinator module, but sub-tasks are farmed out to non-TC components. However, such components are
Re: (Score:1)
You've obviously never looked at the internals of a modern Javascript implementation like V8. Also, by your logic, the C language implementation called Clang is a meta language (whatever that is). Most ignorant post ever.
Re: (Score:2)
Scripting languages are not programming languages? Interpreted languages are not programming languages? An 'actual' programming language must be compiled to bytecode to be executed by the OS?
Where should we start with all this misunderstanding?!
TS... (Score:1)
Popularity != good (Score:3)
Re: (Score:2)
More Use != More Popular (Score:2)
A language being more used in Github projects does not make it more popular. Typescript, for example, is pushed more by managers as a means of keeping people's code under control.. That's pretty much all Typescript is for.
There are two major coding philosophies: one of freedom and one of constraints. Constraints require less management but also cut down on productivity and, in the end, render increased software complexity.. Freedom enables happier developers, increased productivity, but requires active
Re: (Score:2)
is pushed more by managers as a means of keeping people's code under control
And why is that? They wouldn't care if it was written in TrollTalk if the product ships. They care because of other developers having to deal with someone else's javascript messes. What is it the manager should do, write a elaborate coding standard that developers would have to learn? Personally I hate having to learn ANYTHING that wont transfer to a different job. Or they could just use TypeScript.