How I decide between many programming languages
drewdevault.com
drewdevault.com
I love Scala's type system, though, I suppose if I didn't have a very good CS degree I'd hate it. I think it strikes a good balance between powerful and usable.
- XML structure is verbose
- Plugin architecture makes standard behaviour opaque
- Default HTTP with no package signatures is recipe for security problems
- "Stages" seem arbitrary and it's not always clear which stages are performed.
- Community seems to move to newer systems such as Gradle (and SBT for Scala).
But, there are also strengths. The configuration format can be extended easily using the plugin architecture. This provides a huge opportunity to extend the functionality.
It is battle hardened over time, which means it is very stable and it has a huge plugin architecture.
> Pros: none
> Cons: ill-defined, far too big, Object Oriented Programming, loads of baggage, ecosystem that buys into its crap, enjoyed by bad programmers.
This is just rubbish. Fair chance the author wrote this with the help of C++ (your OS or browser maybe?). And I enjoy C++ and it's eco system as well, compared to other languages. So that makes me a bad programmer? I'm surprised people are taking this post serious.
C++ definitely has its uses (and for a long time was best-in-class for many of them) but it is largely being superseded by other options (not necessarily Rust).
I'm trying hard to use Julia, but understanding its PTX output is really hard for me, and also I don't know how to use the matrix multiplying GPU instructions.
Rust's PTX output is not supported, so I haven't really tried it.
Which OS would that be? Most OSes hardly touch C++, except at higher layers than the kernel.
- It is available on a very wide range of platforms
- Several implementations are available
- It is updated regularly
- Etc.
- bad at keeping code simple
- to much focused on details instead of the broader picture
- bad as team leads due to missing some relevant management skills
- bad at producing solutions which where "just good enough" (instead of perfect)
Some of them where aware of their weakness and learned to improve on that areas, setting them on a path of becoming excellent software engineers.
Others where obvious about it or even in denial about it.
In a certain way they had been examples about how a person can be both a technical skilled programmer, as well as as bad programmer who on a subtile way accidentally makes it hard to produce a good end product in any reasonable amount of time.
<Language I know way too little about>:
<Simplistic or incorrect summary of a few blog posts I saw a while ago>
- Does it have a standard and a good track record for backwards compatibility?
- Is it memory safe? (Bound checking, no pointer arithmetic, etc.)
- Does the runtime have automatic memory management in the form of a tracing GC? How tweakable is it?
- Does it have kernel thread support?
- Does it have a centralized package repository?
- If typed, will the type system assist me in defining the business domain? Does it have type inference?
- If dynamic, will the development experience allow me to experiment, inspect and redefine stuff at runtime?
- Can I distribute my programs as a binary or dump everything onto an image?
- Can I go low level when it matters? How's the FFI experience and overhead?
- Does it run on the major operating systems?
Things I don't care about: Syntax, static vs dynamic typing / OOP vs FP religious wars, community size or "niceness", library count, logos, on-boarding experience aka the possibility of hiring cheap juniors.
Cute mascots are nice though. We need more of that.
I am looking forward to multicore OCaml and maybe I give F# a go.
Not sure what exactly you mean by this, but many people use classes and objects all the time in C++, and see it as a pro rather than a con.
Ruby has been very focused on increasing performance the past few years. A few major teams ran away from Rails because it's really easy to build functional things in Rails that won't scale, which gets attributed back to Ruby performance. I think that was enough to scare people away from using ruby at all
GitHub and Shopify both use Rails, among many others.
Was nice talking to you, have a good day mate
C is just an assembler with macros, so I think this is a bold statement...
"Haskell and every other functional-oriented programming language in its class, such as elixir, erlang, most lisps, even if they resent being lumped together"
The set of problems I would try to solve in Haskell and the set of problems I would try to solve in Erlang are disjunct. And its not just about the language, it is the whole ecosystem around it.
"Scala ... Java derivative"
???
I'm not sure if this post was an attempt of some kind of humour or not.
No. Can we put this dumb meme to rest? 1972 C was just an assembler with macros. 2019 C has been a major focus of highly complex compiler research and engineering for decades.
Sure, if you write broken code, C will happily access illegal memory if that's what the input program tells it to. But it will do so efficiently ;-)
If this list really offends you, I would suggest you haven't been programming very long, you don't know many other languages (than the ones on the shit list), or both. Maybe the list is a little hyperbolic, but didn't you pick up on the tone?
I know what you probably meant, but if you put them at the very top of the list and then reverse it whole, they'll end up at the bottom again. Just saying.
It's a very low quality post.
"We hire programmers that can use myriad of different languages (except Lisp off course, no one want's to deal with Lisp) and then you also have to know Java because in fallback situation you'd be useless in their time constraint setting //goodbye" that kind of thing, did I get this wrong?
The main platform language used by the target platform requested by the customer.
Post: How I decide between many programming languages
Pros: Unintended humour
Cons: waste of time, exceedingly bad example of anything technical
This guy seems like a real open minded person who did his research and shared his opinion after making strong points. /s
Pros for PHP could be, it's templating capabilities with HTML, easy to use DB interfaces and the entanglement with the web/HTML/web-server in general. Nowadays you don't really write these kinds of apps anymore where your backend returns whole HTML Pages but that doesn't mean it's a bad language.
Of course, this comes at a price. But saying PHP has no pros is quite subjective
I get the feeling the author is either not trying to be objective, or is one of those people who confuses strident opinion for objective fact. "PHP is bad and everyone who uses it is bad" is a meme that some people take seriously... and one that also applied to javascript until Node.js appeared and it became valuable, interestingly enough.
I would say there are no objectively bad languages, just bad code (which can be written in any language), or languages which aren't used in an optimal way, since every one was created with a specific frame of mind and intended use case. PHP serves its purpose, and if someone doesn't want to use it, they can just not use it. Obviously PHP has pros, if it didn't, no one would use it.
(Working with both vanilla PHP and Hack; I find the latter orders of magnitude nicer to work with - just for XHP alone, I wish I could switch my PHP projects to be Hack projects...)
- Cheap (almost every cheap/free hosting supports it without any extra config)
- Easy (can other languages beat this out of the box: `$_POST["name"]` ?)
- Wordpress
PHP things that are not unique but good: - Huge market (if you are into bootstrapping your business, there are lots of opportunities and low hanging fruit in PHP)
- Lots of big open source projects to customize or work on top of (nextcloud, etc...)
Things that you need in order to appreciate PHP: - Have a product mindsetThere's https://github.com/Scriptor/pharen though