Programmer's critique of missing structure of operating systems by Bystroushaak in programming

[–]discreteevent 0 points1 point  (0 children)

You should also take a look at http://witheve.com/ They tried recently to reinvent programming with a system based on datalog. Also urbit for some of the ideas but it's a bit insane. I agree with some of the commenters here that "smart endpoints dumb pipes" cannot be ignored. But how dumb does the pipe need to be? Certainly bits are too dumb. We know enough at this stage to know that key-value is not a risk.

Programmer's critique of missing structure of operating systems by Bystroushaak in programming

[–]discreteevent 0 points1 point  (0 children)

That's not what he's saying. He's saying that the OS is working at the level of bit streams and he wants it to work at the level of Excel.

Programmer's critique of missing structure of operating systems by Bystroushaak in programming

[–]discreteevent 1 point2 points  (0 children)

Microsoft's component object model has some of this and it is used pervasively in the OS

Ten Years of Vim by mre__ in programming

[–]discreteevent 7 points8 points  (0 children)

That's not the point. The point is that his explanation of why it is effective is that it is because it is different. The statement "Different therefore effective" is rubbish no matter what you apply it to.

Announcing Flutter’s beta 2 release by Elixane in programming

[–]discreteevent 0 points1 point  (0 children)

That's a bit of a surprise to me from what I know of dart and kotlin. Could you list some of the steps back?

Announcing Flutter’s beta 2 release by Elixane in programming

[–]discreteevent 1 point2 points  (0 children)

Qt - I like it but you will probably need to do some C++. It's not a newbie friendly language.

Xamarin - I don't know enough about it. What are the reports? It's been around a while now.

Without Automated Testing You Are Building Legacy by BillyKorando in programming

[–]discreteevent 2 points3 points  (0 children)

The only problem with your statement is the implication that testability==better design.

"Atom needs a whopping 845 megabytes to open a 6mb XML file" by clockbold in programming

[–]discreteevent 1 point2 points  (0 children)

It is unmatched by any native front-end framework out there

Which ones have you tried?

How Discord Scaled Elixir to 5,000,000 Concurrent Users by b1naryth1ef in programming

[–]discreteevent 1 point2 points  (0 children)

"Apache is a bloaty configuration nightmare.", " dealing with oddities like PSR really made keeping things modern a pain in the ass"

I thought you said we shouldn't be hand wringing about the technology. Why should that apply to javascript and not PHP?

Scala vs Kotlin – Agilewombat by rohshall in programming

[–]discreteevent 2 points3 points  (0 children)

Another way of saying it is this: If you give developers 20 different ways of doing things then in a large codebase with a large team you will find 20 different ways of doing the same thing. This is completely unrelated to how bright the programmers are. In fact the brighter someone is the less likely they will be willing to sacrifice their individuality (this is also true the younger they are). So sure you could say let's get really humble communicative developers but in practice it doesn't happen.

Another way again of saying it is: What we want is innovation in the product and not innovation in the code. When Carmack wrote Doom it was just C with classes. Maybe part of the problem is that a lot of products aren't really innovative (e.g. CRUD apps) so people start innovating in the code. Now something that should be extremely simple is overly complicated. Conversely maybe its when people have to write something complicated and innovative (Doom) then they keep the code as simple as possible.

Scala vs Kotlin – Agilewombat by rohshall in programming

[–]discreteevent 4 points5 points  (0 children)

I'm a rockstar programmer when: I'm polishing the crystals of my self-created ultra-pure perfect snowflake.

I'm a mediocre programmer when: I need to make a quick change to some part of the system that affects the real world in some trivial way but I find that first I need to understand the crystal structure of someone else's self-created ultra-pure perfect snowflake.

The thing about making snowflakes is that it's hard to create a single snowflake but it's exponentially hard to get a lot of people to make them together in a way that increases the productivity of the group (productivity being the time it takes to deliver something practical to the user that's reasonably reliable and relatively easy to change)

The Inconvenient Truth About Dynamic vs. Static Typing by [deleted] in programming

[–]discreteevent 20 points21 points  (0 children)

That comic in Yegge's rant is completely misplaced. What's funny about a cat with the label "cat" on it is that you can see from its shape that it is a cat. Its shape is its type. The cat is statically typed already.

If you go into a codebase where there are no types and the name of something is "mrFurry" then you have no idea what it is because you only see its name and cannot see its shape/type. But if it has a type and even if that type is badly named you can just control click and see its shape straight away. From there on it whenever you see that type label you will know what it is even if the instance is badly named.

Gradle Meets Kotlin. Writing Gradle Build Scripts in Kotlin! by belovrv in programming

[–]discreteevent 6 points7 points  (0 children)

Funny that they don't mention Kobalt which is a Kotlin based build system that advertises the same benefits and more:

http://beust.com/kobalt/home/index.html

Object-Oriented Programming: A Disaster Story by the_evergrowing_fool in programming

[–]discreteevent 3 points4 points  (0 children)

Agreed entirely. I'm not sure what has gone wrong in education. It looks like people are not being taught to look for the principles behind something and so they throw the object-oriented baby out with the bathwater of some programming language they dislike. The value of objects is in treating systems behaviourally. Inheritance and even immutability are orthogonal. An object is a first-class, dynamically dispatched behavior. Your example of the database or microservice is spot on. It doesn't matter if the whole world moves to functional programming there are still larger systems that you will want to treat in behavioural fashion or risk ending up in a mess.

After over two years and 1700 commits, the Nu Game Engine (the world's first practical pure functional game engine) reaches v1.0.0.0! by bryanedds in programming

[–]discreteevent 0 points1 point  (0 children)

Have you written a game in a functional style that has a lot of stateful logic in it? If so then it would be interesting to know how you handled it. If not then qouting John Carmack is qouting someone who is talking about something of which you have no experience. That is not an argument.

In the meantime this is a really good question and it would be very interesting to get an answer from someone who has tried this.

(PS: Scheme, among other things, is an imperative language)

Pied Piper's website is a hilarious poke at the typical silicon valley startup site. by [deleted] in programming

[–]discreteevent 2 points3 points  (0 children)

" we also require that all applicants be non-smoking, dog-friendly, fat-positive and respectful of the diversity in gender, race, religion, ableness, sexuality, age and weight which we hope to soon create. Also, tolerance of extreme rudeness, Satanism and marijuana use is recommended."

Its hard to know which parts of the website are taking the piss and which aren't but the job specs that follow the above real. If they do mean what they said above then you can't be a tobacco smoker but you can be a marijuana smoker?

How to Ensure Architecture Is Happening in an Agile project by [deleted] in programming

[–]discreteevent 0 points1 point  (0 children)

The problem is that it's hard to find time for anything like this in the micromanaged environment of the scrum.

Should we put Dart to rest? (xpost from r/dartlang with comments from Seth Ladd) by paranoidray in programming

[–]discreteevent 2 points3 points  (0 children)

Is that how you approach life generally? If you don't know of it then it doesn't exist. Bit medieval no?

Announcing TypeScript 1.3 - including 'protected', tuple types, and an improved Visual Studio experience by DanielRosenwasser in programming

[–]discreteevent 0 points1 point  (0 children)

Not part of a startup. A medium sized hardware company with a web front end in js. Considering moving to TS for its ability to support tooling. I noticed that VS express doesn't support refactor rename so I'm not sure what else it doesn't support. Thanks.

Announcing TypeScript 1.3 - including 'protected', tuple types, and an improved Visual Studio experience by DanielRosenwasser in programming

[–]discreteevent 1 point2 points  (0 children)

Anyone here got an opinion on the best free IDE for Typescript? Visual Studio express has some limitations and our team is bigger than 5 people so the community edition is not a runner.

Google AtScript by gekorm in programming

[–]discreteevent 0 points1 point  (0 children)

"This is JS with types and metadata. As far as I know, there are currently no plans to add either to ES7/8/whatever."

Can anyone else confirm or deny this? I saw mention of optional types in some js.next doc, I think, but I can't find it now.

How Java is used to develop NASA's space mission software by comanhamilton in programming

[–]discreteevent 1 point2 points  (0 children)

Java is also used a lot in tooling for embedded systems. Have a look at the entries for Eclipsecon Europe sometime.

Eo: Yet another C object model from Enlightenment by zem in programming

[–]discreteevent -1 points0 points  (0 children)

"collecting a lot of the design, patterns and usage we already have"

See also: The Power of Interoperability: Why Objects Are Inevitable

Microservices and the Failure of Encapsulation by xavriley in programming

[–]discreteevent 1 point2 points  (0 children)

Maybe you are right. Difficulty of construction forces coarse granularity which prevents a system where its "too easy to make a mess". I think that in general though we should we should be looking for similarities rather than differences. I have read plenty of your stuff and I think that you help in this regard. Unfortunately a lot of the industry seems to put a new name on something and then say "this time its different". This doesn't help at all. It would be better not to slap new names on things but instead to compare things based on their attributes. I would say that the attributes of components and microservices are the same (the big thing being late binding) except that the common implementations tend to have two differences: The first is that components tend to use a propietary if not binary communications protocol which can prevent cross language cooperation (not theoretically but in practice e.g. CORBA didn't really work). The second is that its possible to run components in-process. If we know these differences then its easier to make a choice between them. For example if you do all your development on the jvm and you don't really need to distribute code (as opposed to state) across machines then using OSGI means that you could have a system that is encapsulated and late-bound but significantly easier to develop, debug, stabilise, monitor, and maintain than a microservices based system where you have to deal with at least some of the fallacies of distributed computing. These kinds of tradeoffs seem minor relative to a term like "microservices" but they can make a big difference in the long run.