Oh man, best game ever. I really wanted to learn it having putting it off for so long. I can see how I could use it in a framework of mine. Gives me an excuse to use open web technologies again.
I was revamping some old code of mine, removing outdated technologies of third parties like YUI... But I noticed that I needed them for layout. But flexbox can provide an alternative for me.
One advantage of Go is that more code is dependent on the network which is where Go shines at. Go looks like a hammer when the network looks like a nail. For example, Go was one of the first to start adding HTTP2 support. If Go is always there for network tools, it will creep into areas that perhaps many would not have foreseen like security systems that were previously done in C and C++.
I enjoyed the article. I think the general sentiment here is that one needs to take the good with the bad.
I also think that the ongoing changes have made for a different web that is less important on the mobile devices. In watching some videos about mobile we get that people are excited about new ways of interacting with computers, perhaps with the camera, perhaps with the microphone, or perhaps with the GPS... Sometimes the web just does not feature in those trends.
The web has changed a lot since Obama first won the Presidency. His site with donations, the network effect directing traffic to his campaign site and so on... Now there are these "Streams" on mobile, I'm not sure how those could be shared with a community that was sometimes anonymous and decentralized, like you say...
Now it's like people want to drink bottled water of a certain brand instead of sharing the water in the lake (web). It doesn't seem to scale. And companies and governments are just too forceful to avoid competition and so on to allow for a thousand flowers to bloom like it may have been possible in the past.
Indeed. That may mean fewer opportunities for "meta-programming" if by meta-programming we mean mutation of core structures. It could also be a good chance to turn around the default of declaring variables to declaring constants instead. Complex data structures would still have to be mutable by default I guess, but they would be the obvious next target to becoming immutable by default.
If you make my huge NumPy arrays immutable, I will be very unhappy (unless I am significantly misunderstanding how this everything-is-immutable strategy works).
There might be a lot to be said for rust-style immutable-by-default.
First, you'd still have optional mutability. Second, arrays are rather simple data structures, but ones where you often care about performance--small tight loops are common. Compare that to the data structure that eg holding your options and flags for the computation: you don't do much computation on that, but you have lots of invariants that you want to uphold---ie lots of code, but each bit executed roughly once, no tight loops.
And there would always be the optional mutability. Your complex data structures are seldom the ones driving performance.
Ie often you have to get the complex data structures right (lots of logic, not much computation) to set up your computations on the simple ones (eg lots of number crunching on your arrays).
Yes, it's easier to reason about correctness in immutability land and add mutability in after the fact as a compiler optimization than to remove mutability for safety as a compiler pass.
Feels like people will be urged to move to Python 3 due to the new features... And yet I'm thinking that Python 4 will happen before many have been able to move to Python 3. :-P
Because Python 4 will be only "whatever comes after the last 3.x", with no backwards-incompatible changes, it won't matter: porting to "python 4" will require the same effort as porting to 3. So start now ;)
If I knew your philosophical leanings I could construct an example that would be quite common -- but for all I know you think it is not exploitation to offer jobs for minimum wage with no benefits that offer only 19 hrs a week of work (no benefits) but demand 24/7 availability.
So let me use a more extreme example. When individuals are suspected (NOT yet proven) of illegal immigration they are sent to a detention facility. There they are not allowed amenities like fresh socks or telephone calls unless they work for them at the rate of $0.13/hr. This is happening today to many thousands of people (http://www.npr.org/2015/07/23/425511981/at-low-pay-governmen...).
I bet the excuse (if an excuse exists at all) is the obvious "nobody is forced to work"/"we provide (bare minimum) amenities to anybody that wants them" circular reasoning.
The cost also comes in the ignorance of that third world part who have poorer access to education and opportunities.
They are third world because they are ignorant. And they are ignorant because they are third world.
Sometimes small incentives go a long way toward getting people further ahead. Sometimes they may shine by means of sports. But not everyone can be saved by sports. :-)
Well I don't know exactly how we're defining who is and who isn't a third world American, but the reasons for poverty are a lot more complicated than being "ignorant".
Mental illness, trauma, stress, physical disability / injury, side effects of living in a bad neighbourhood / neighbourhood targeted by law enforcement, trends in the local economy, etc. are some of the multifaceted reasons that people and families end up in poverty.
The way that the Java platform evolved very slowly just seems rather unlikely nowadays. Sun didn't allow for Java extensions that made it too platform dependent. To this day Java's platform independence is perhaps its greatest legacy, since platforms have changed a lot and the Java code can still be used even for the latest hardware.
But the idea of a proprietary platform is just exotic nowadays. I doubt it that when they started the Java project that they imagined it that most of it would be free and Free. Everyone wants software to be a commodity. I don't know how they would fund a similar project knowing that it would compete against very much free and Free solid alternatives.
Also, browser plugins are dead. So something like Java applets would hardly take foot.
Like others have said, one of the big selling points for Java was Windows development. The interfaces sucked. But the need was there. Once Microsoft came up with .NET that profitable market was challenged.
A lot of Java alternatives nowadays can go a long way from just hosting web services on Linux. So Java's selling point of supporting many different platforms would not have been as interesting. Also, Apple restricts JIT on iOS, further compromising alternative platforms on that platform so even if a new Java wanted to support iOS it would have to settle for less.
Settling for less was in fact one of Java's goals. It helped it with platform independence. But it didn't make many platform dependent developers too happy either. :-)
Yes, TS is improved since it comes with the top IDE: VS. :-P
Seriously though. Watching how people use IDE to code on Twitch can be so boring. Everyone is quick to suggest to step the code with the debugger. When just printing stuff to the console would be better.
I hope that TypeScript never makes it into the browsers. I would take JavaScript without the types by default. It can even be more static than it is. But please, no types by default. Types make for bloated code.
Someone yesterday spent 2 hours on Twitch dabbling with the Eclipse IDE and could not get unstuck, since they weren't even referring to the documentations or making quick changes to test their code.
In theory. In practice many of the mainstream languages make for bloated code. Yesterday I was seeing type casts and so on increasing the size of the code.
But developers can grow used to bloated code. Like they can get used to stepping the code with the debugger. I for one prefer to print debug info. On the browser I have custom code that helps with that. But I understand that many developers don't have anything like that and they have to use a standard debugger instead.
I grew used to debugging with print outs on Ruby. Before that I used to use IDEs like Delphi and Eclipse.
I also hear that one of the problems people may have on OCaml is that sometimes when they want to print some data structures they first have to make it printable. I like languages that make the structures printable by default like in Ruby.
I think developers are still a little shy about using the Canvas for much. In my own toying with a text editor, I found the Canvas to be pretty nice. The advantage is that one needs to render just the visible lines.
With the way developers use the DOM for things like text editors, it's no wonder that they may reach the limit of the browser performance. If we add too much stuff to the DOM, the browser does not have the flexibility of just "rendering the visible lines" like we could with the Canvas. The browser has to calculate everything again.
I was recently surprised when I added 100k table rows with 2 columns in a sample, and when I clicked on a button to toggle the visibility of some list items next to the table, the browser would take a few seconds to finish processing it. Since it was a sample test using React, I thought I would try it without React to see whether the slowdown was because of React somehow. But I found out that even without React it was about the same difference.
If you notice, Atom has a hard limit on 2MBs buffers. I just created a test loading almost 2 MBs in an Atom text tab, and it indeed became unresponsive. It took forever to load and then had problem handling text editing at the end of the buffer.
I think Atom would be better with Canvas. But many JavaScript editors use the DOM and for 1,000 lines they tend to work very well. Which is generally enough for running samples and such. Another advantage of the DOM is that they could more easily embed images and have varied size text, I guess. So those WYSIWYG HTML Editors may be better served by some DOM Editor.
I guess in the future Atom could also add a Canvas editor and keep both.
I was revamping some old code of mine, removing outdated technologies of third parties like YUI... But I noticed that I needed them for layout. But flexbox can provide an alternative for me.
Thanks a bunch!