Why nobody mentions such valid and important points as packaging, modularity/reuse and build tooling?
Both C and C++ suck in this regard. Integrating 3rd-party project is usually an exercise in self-control and calm-keeping.
Autotools, CMake, Make, VS Studio, Ninja, Meson, Scons, whatever shit, a new Grand Shiny Build Tool is coming every year as The Only Solution.
No versioning. Everything is manual - binary dependencies, source dependencies, all has to be done manually for every project, with fuckload of weird compiler switches and preprocessor directives.
Most of the modern languages have acceptable solutions for that (I love Rust and crates.io in particular) - not perfect perhaps but working, except for stupid C/C++ legacy shit, and the fucking committee just keeps adding template madness instead of sanitizing it. The C++ compile times are getting bigger with each revision because another fuckton of header files are added.
Everything about GNOME Shell is missing, incomplete or inconvenient, by design. The defaults are just unbearable. I need to install 10 different extensions to get some basic usable desktop, and they are often either not maintained any more, crashing or simply not installing because of version conflict. I have to use tweak tool to enable some features that GNOME devs think (for some stupid reason) are not needed. So how's that good f or average user with little Linux experience? Even after all those tweaks and extensions it is slow, ugly and lacking in functionality. The default apps set sucks. Evolution? Oh please, what a joke.
What is the target audience for GNOME? Linux hardcore users like me? I don't need the idiotic simplicity, I need a functional customizable, beautiful desktop. Users with little PC or Linux knowledge? I bet they'll run away from it first hour of use. With the dynamic desktops and lack of minimize button.
Now, suppose they learned somehow about extensions.gnome.org. They go there and try to install some - NO. You need first the browser extension. Alright, got it. Can be proceed? NO. You need some bullshit crap called chrome-shell which installation instructions far from obvious for average user.
It's fucking pathetic. I am Ubuntu user for 12 years, quite loved Unity (despite the bugs and rough edges it's perfectly usable desktop), now switched to Kununtu and never looked back. It's amazing, far more into the Linux Desktop 2017 than any GNOME disaster would ever be.
UBI means a relatively small 'elite' which has a paid job and can afford a relatively decent level of life, plus a majority of population having 'survival benefits' which are only sufficient for basic (and bad) food, simple shelter and TV/Internet subscription with ads. Higher-level services like health care, education, hobby, travel, etc will become too expensive to compensate for near-zero profit margins.
Every piece of software ever written in C/C++ suffers from the same issues over and over again and the absolute majority of the security holes are due to these bugs. May be we NEED the better languages after all rather than keep complaining about better programmers?
Compile-time memory safety and thread safety, modern features (lambdas, closures, traits, generics, functional programming), online database of easy to install 3rd-party modules (crates.io), easy interoperability with C libraries, all this with predictable C-like performance AND without garbage collection. The learning curve is steep though due to ownership and borrowing concepts.
Last time I checked the price for EV code signing certificate was around 350-400$. But obtaining the EV certificate is not the only obstacle; actually using their HCK software to produce a EV-signed tested submission package is a good exercise in tolerance towards Redmond. The system requirements are rather high, they demand a physical machine for the controller component, one Windows test machine for each target version (so to support a full range of only desktop OSes a total of 8 test instances are required: win7, 8, 8.1, 10, both 32-bit and 64-bit, plus the server instances if the driver is to run on server systems).
The test process itself occasionally fails for no apparent reason (e.g. test machine reboots) even for user-space print drivers. Some tests are mandatory, others can be excluded and it takes enormous amount of time and nerves to find out which ones (via some vague posts in forums), to produce a signed hck package which can be submitted to whql labs.
Javascript can be used simply as a middleware language (or a 'bytecode'), and an application written in strongly-typed language can be simply compiled into it. And most likely that's what will happen.
Any historical evidence over DPRK's worldwide military aggression (not counting the funny patriotic TV speeches)? I'd rather point my finger to another nation with quite a good record of not only "aiming the payloads" but in fact launching them.
Doubleplusgood. It has GPG/PKI security, calendar/task extension with 3rd-party Exchange connector, best in class IMAP support, speed, stability, rich set of extensions - not a single sucking webclient is even remotely close to offer this combination of productivity, privacy and features. And it is cross-platform.
As I am using Linux most of the time I tried many available email clients - all of them suck BADLY comparing to TB.
Because of the duck typing maintaining, extending and refactoring any non-trivial Python project is a fubar. Make a typo in the variable name and catch this bug 2 months later in the production deployment. Thank you very much, but no unit tests from the whole world will cover this.
Because of the GIL it doesn't scale across the modern hardware so it forces programmer into process-level parallelism and 3rd-party http server with wsgi crap which gives deployment and maintenance headaches.
Because of the interpreting nature it is too slow to be considered as good choice for any CPU-intensive tasks (not only math but anything outside of I/O and networking).
I must admit though that it is great for scripting. So there should it stay forever and personally I'd run away from any job description which includes Python as a primary language.
Their status html docs aren't updated yet to reflect the actual status. Look at the gcc/libstdc++-v3/doc/xml/manual/status_cxx2011.xml file for the up to date information (or the gcc/libstdc++-v3/ChangeLog for technical revision history).
My goodness, what an ultimate collection of 80's-style propaganda crap.
Stalin, who lived into the 1950s, was a monster of epic proportions.
This 'monster' created a greatest industrial superstate from the underdeveloped agrarian country. He won the second world war. He made a nuclear shield against the peaceful civilized democracies that nuked Japan and killed most of their own natives.
you will need to find tens of millions of bodies
Mister, you are citing the lies of Solzhenitsyn. There are well-known figures: around 700.000 people where sentenced to death penalty from 1921 to 1953; the absolute majority in 1937-38 during the 'Big Terror' years due to the internal fights in the goverment and the rising Trotskism movement. Should that not happened the Stalin's powers would be overthrown and Germany wouldn't have any difficulties whatsoever 3 years later.
The top number of prisoners in the detention and work camps was around 2 million people (compare it to the modern US). On average 0.8% of the population was held in the camps during Stalin era.
Ukrainian Genocide
There was absolutely no genocide but a starvation from objective reasons. Same as in USA in 30's.
Communism is effectively a mind trap - the theory sounds so beautiful to many people that it must be true, but in practice it has always led to oppression, often bloody at that.
It's a mind trap only for such short-sighted and narrow-minded anti-soviet fanatics like you.
My reply was mainly to original parent: http://developers.slashdot.org/comments.pl?sid=2807769&cid=39781843.
I never had the described issues with C++ (virtual destructors, forgotten cleanups, etc). The "ugliness" and complexity of the code is solely a programmer's fault, not the language. I just tried to show that similar issues exist in Java, including resource leaks, forgotten cleanups, "finally" statements, incorrect object comparison, etc.
My point is not that strings are objects but that it's easy to make a mistake by coding == instead of.equals (especially when coming from other languages where no such issue exists, C++ or Python). How's that different from forgetting virtual destructors?
Another annoying issue is absolute incosistence in the method name (or property name) that returns the size of the collection.
Java is not exactly issue-free as well. For example lack of comparison operator for strings forces a programmer to abandon an intiutive ways of doying things and to always remember to follow the language obscure rules.
Same for unsigned bytes and integers.
Same for resource leaks and forgotten "finally" blocks.
Why nobody mentions such valid and important points as packaging, modularity/reuse and build tooling?
Both C and C++ suck in this regard. Integrating 3rd-party project is usually an exercise in self-control and calm-keeping.
Autotools, CMake, Make, VS Studio, Ninja, Meson, Scons, whatever shit, a new Grand Shiny Build Tool is coming every year as The Only Solution.
No versioning. Everything is manual - binary dependencies, source dependencies, all has to be done manually for every project, with fuckload of weird compiler switches and preprocessor directives.
Most of the modern languages have acceptable solutions for that (I love Rust and crates.io in particular) - not perfect perhaps but working, except for stupid C/C++ legacy shit, and the fucking committee just keeps adding template madness instead of sanitizing it. The C++ compile times are getting bigger with each revision because another fuckton of header files are added.
There is a new interesting project for distributed VCS, called 'pijul'. Written in Rust, based on mathematical theory of patches. https://pijul.org/
The good, well-documented, test-covered and well-behaving code goes to heaven repository. The other codes are incorporated into Microsoft products.
Everything about GNOME Shell is missing, incomplete or inconvenient, by design. The defaults are just unbearable. I need to install 10 different extensions to get some basic usable desktop, and they are often either not maintained any more, crashing or simply not installing because of version conflict. I have to use tweak tool to enable some features that GNOME devs think (for some stupid reason) are not needed. So how's that good f or average user with little Linux experience? Even after all those tweaks and extensions it is slow, ugly and lacking in functionality. The default apps set sucks. Evolution? Oh please, what a joke.
What is the target audience for GNOME? Linux hardcore users like me? I don't need the idiotic simplicity, I need a functional customizable, beautiful desktop. Users with little PC or Linux knowledge? I bet they'll run away from it first hour of use. With the dynamic desktops and lack of minimize button.
Now, suppose they learned somehow about extensions.gnome.org. They go there and try to install some - NO. You need first the browser extension. Alright, got it. Can be proceed? NO. You need some bullshit crap called chrome-shell which installation instructions far from obvious for average user.
It's fucking pathetic. I am Ubuntu user for 12 years, quite loved Unity (despite the bugs and rough edges it's perfectly usable desktop), now switched to Kununtu and never looked back. It's amazing, far more into the Linux Desktop 2017 than any GNOME disaster would ever be.
And why should it be fully automated in the future?
UBI means a relatively small 'elite' which has a paid job and can afford a relatively decent level of life, plus a majority of population having 'survival benefits' which are only sufficient for basic (and bad) food, simple shelter and TV/Internet subscription with ads. Higher-level services like health care, education, hobby, travel, etc will become too expensive to compensate for near-zero profit margins.
Every piece of software ever written in C/C++ suffers from the same issues over and over again and the absolute majority of the security holes are due to these bugs. May be we NEED the better languages after all rather than keep complaining about better programmers?
Compile-time memory safety and thread safety, modern features (lambdas, closures, traits, generics, functional programming), online database of easy to install 3rd-party modules (crates.io), easy interoperability with C libraries, all this with predictable C-like performance AND without garbage collection. The learning curve is steep though due to ownership and borrowing concepts.
Either we are living in the Matrix or we are not. Sounds logical.
> MS no longer cares to even pretend they care about what people want or need. Users are there for the milking and that is all.
How is that different from any profit organization?
Last time I checked the price for EV code signing certificate was around 350-400$. But obtaining the EV certificate is not the only obstacle; actually using their HCK software to produce a EV-signed tested submission package is a good exercise in tolerance towards Redmond. The system requirements are rather high, they demand a physical machine for the controller component, one Windows test machine for each target version (so to support a full range of only desktop OSes a total of 8 test instances are required: win7, 8, 8.1, 10, both 32-bit and 64-bit, plus the server instances if the driver is to run on server systems).
The test process itself occasionally fails for no apparent reason (e.g. test machine reboots) even for user-space print drivers. Some tests are mandatory, others can be excluded and it takes enormous amount of time and nerves to find out which ones (via some vague posts in forums), to produce a signed hck package which can be submitted to whql labs.
Javascript can be used simply as a middleware language (or a 'bytecode'), and an application written in strongly-typed language can be simply compiled into it. And most likely that's what will happen.
Trillions is not infinite and so may very well fit into the product of certain probabilities.
Any historical evidence over DPRK's worldwide military aggression (not counting the funny patriotic TV speeches)? I'd rather point my finger to another nation with quite a good record of not only "aiming the payloads" but in fact launching them.
Comparing it to Apple Watch for $10000.
Doubleplusgood. It has GPG/PKI security, calendar/task extension with 3rd-party Exchange connector, best in class IMAP support, speed, stability, rich set of extensions - not a single sucking webclient is even remotely close to offer this combination of productivity, privacy and features. And it is cross-platform. As I am using Linux most of the time I tried many available email clients - all of them suck BADLY comparing to TB.
Because of the duck typing maintaining, extending and refactoring any non-trivial Python project is a fubar. Make a typo in the variable name and catch this bug 2 months later in the production deployment. Thank you very much, but no unit tests from the whole world will cover this.
Because of the GIL it doesn't scale across the modern hardware so it forces programmer into process-level parallelism and 3rd-party http server with wsgi crap which gives deployment and maintenance headaches.
Because of the interpreting nature it is too slow to be considered as good choice for any CPU-intensive tasks (not only math but anything outside of I/O and networking).
I must admit though that it is great for scripting. So there should it stay forever and personally I'd run away from any job description which includes Python as a primary language.
1. NEWSPEAK - pessimistic option
2. LOLWOWWTF - optimistic option
The only valid point is the absence of apps. The rest was true a year ago.
Their status html docs aren't updated yet to reflect the actual status. Look at the gcc/libstdc++-v3/doc/xml/manual/status_cxx2011.xml file for the up to date information (or the gcc/libstdc++-v3/ChangeLog for technical revision history).
Stalin, who lived into the 1950s, was a monster of epic proportions.
This 'monster' created a greatest industrial superstate from the underdeveloped agrarian country. He won the second world war. He made a nuclear shield against the peaceful civilized democracies that nuked Japan and killed most of their own natives.
you will need to find tens of millions of bodies
Mister, you are citing the lies of Solzhenitsyn. There are well-known figures: around 700.000 people where sentenced to death penalty from 1921 to 1953; the absolute majority in 1937-38 during the 'Big Terror' years due to the internal fights in the goverment and the rising Trotskism movement. Should that not happened the Stalin's powers would be overthrown and Germany wouldn't have any difficulties whatsoever 3 years later. The top number of prisoners in the detention and work camps was around 2 million people (compare it to the modern US). On average 0.8% of the population was held in the camps during Stalin era.
Ukrainian Genocide
There was absolutely no genocide but a starvation from objective reasons. Same as in USA in 30's.
Communism is effectively a mind trap - the theory sounds so beautiful to many people that it must be true, but in practice it has always led to oppression, often bloody at that.
It's a mind trap only for such short-sighted and narrow-minded anti-soviet fanatics like you.
My reply was mainly to original parent: http://developers.slashdot.org/comments.pl?sid=2807769&cid=39781843. I never had the described issues with C++ (virtual destructors, forgotten cleanups, etc). The "ugliness" and complexity of the code is solely a programmer's fault, not the language. I just tried to show that similar issues exist in Java, including resource leaks, forgotten cleanups, "finally" statements, incorrect object comparison, etc.
My point is not that strings are objects but that it's easy to make a mistake by coding == instead of .equals (especially when coming from other languages where no such issue exists, C++ or Python). How's that different from forgetting virtual destructors?
Another annoying issue is absolute incosistence in the method name (or property name) that returns the size of the collection.
Java is not exactly issue-free as well. For example lack of comparison operator for strings forces a programmer to abandon an intiutive ways of doying things and to always remember to follow the language obscure rules. Same for unsigned bytes and integers. Same for resource leaks and forgotten "finally" blocks.
Blessing just didn't work