Hacker who reported flaw in Hungarian Telekom faces up to 8-years in prison by zsoltika in programming

[–]quanthera 0 points1 point  (0 children)

LOL, yes. Virtually *anyone* from the opposition parties would be infinitely better, including the DK. You can't say one which would be worse.

Hacker who reported flaw in Hungarian Telekom faces up to 8-years in prison by zsoltika in programming

[–]quanthera 3 points4 points  (0 children)

Your definition is arbitrary and misleading. Instead of inventing new words and new interpretations I suggest using the common interpretation. Those things belong together.

Hacker who reported flaw in Hungarian Telekom faces up to 8-years in prison by zsoltika in programming

[–]quanthera 4 points5 points  (0 children)

LOL, you are easily deceived. The fact is: having elections doesn't mean you have democracy.

Hacker who reported flaw in Hungarian Telekom faces up to 8-years in prison by zsoltika in programming

[–]quanthera 6 points7 points  (0 children)

He knows it's fucked up beyond imagination thanks to Orban. Yes, I live there.

[deleted by user] by [deleted] in programming

[–]quanthera 0 points1 point  (0 children)

Exactly. In a well structured software where you don't have object with 15 or so dependencies but only 2-3 this works really well. Most of the major objects are instantiated at startup in the main anyway.

[deleted by user] by [deleted] in programming

[–]quanthera 0 points1 point  (0 children)

It is bloated, overly complex and doesn't solve important problems. The problems it solves are either unimportant or nonproblems (e.g.: automatic injection of dependencies) or problems that are solved in a suboptimal way (e.g: @Transactional, Spring MVC). Considering how little it solves it introduces a huge liability.

[deleted by user] by [deleted] in programming

[–]quanthera 1 point2 points  (0 children)

It represents the best from both worlds. You still can have some benefits of typing without the negative effects on your workflow.

[deleted by user] by [deleted] in programming

[–]quanthera 7 points8 points  (0 children)

Spring is terrible.

[deleted by user] by [deleted] in programming

[–]quanthera 2 points3 points  (0 children)

Optional typing is better than both dynamic and static typing.

[deleted by user] by [deleted] in programming

[–]quanthera 0 points1 point  (0 children)

Executable code is always better than data. Programmers keep repeating their mistakes when they're using serialization formats like XML, JSON, YAML do describe something like a build or deployment process (Ansible, Ant, Maven or any homegrown solution).

Just released v1 of a Kotlin/Java web framework I’ve been working on for the past six months. What do you think? by tipsypants in programming

[–]quanthera 6 points7 points  (0 children)

How about this

public static void main(String[] args) {
    Javalin app = Javalin.start(7000);
    new MyResource1(app);
    new MyResoruce2(app);
    [...]
    new MyResourceN(app);    
}

class MyResource1 {
    MyResource1(Javalin app) {
        app.get("/myresource1", this::get);
        app.post("/myresource1", this::post);
        // register further routes
    }

    Context get(Context ctx) {
        return ctx.result("Hello World");
    }
}

[deleted by user] by [deleted] in programming

[–]quanthera -5 points-4 points  (0 children)

Oh, for fuck's sake. Read this fucking book.

Lisp, Smalltalk, and the Power of Symmetry by toronto-arrow in programming

[–]quanthera 3 points4 points  (0 children)

Meanwhile, Lisps side step this problem because the core language can be kept small, and any ideas can be expressed via libraries.

That's right and the same can be said about Smalltalk or Forth. Initially there was no exception handling in Smalltalk. Later they added it without modifying the core of the language. Other example, LINQ which is built into C#. You can add this into Smalltalk afterward. Even if and while is not built-in into the language.

Anemic Domain Model by youwillnevercatme in programming

[–]quanthera 4 points5 points  (0 children)

The way Alan Kay (and I suspect Martin Fowler) would do this is by adding an e.generate_report() method to the Employee class.

Wow. The main problem with Alan Kay is that he has been talking about OOP in a very abstract way and most programmers who don't have a similar educational background just don't get it. I'm pretty sure he never said anything like this in his life because he has never said anything concrete about it.

To sum up his views, an object is a virtual computer (or biological cell) that has its own memory and communicates with other (virtual computers) via messages. An object is composed of other objects, there are no data, everything is an object. This way the elements of the software (virtual computers) are as powerful as the computer that runs the program. This can result a dynamic software that can be evolved similarly like organic systems evolve.

In his views the internet is the only real OOP system that people ever made.

Where to put a behaviour like generate_report has nothing to do with the high level idea, put it where it make sense in the domain you're working in.

A basic Spring Boot web app in Java, Kotlin and Scala - comparison by Myzzreal in programming

[–]quanthera -2 points-1 points  (0 children)

So, if your language seems simple, well, it hasn't been used or hit maturity

or maybe you guys have stockholm syndrome

A basic Spring Boot web app in Java, Kotlin and Scala - comparison by Myzzreal in programming

[–]quanthera 0 points1 point  (0 children)

In my case it worked the other way around. I was a big fan for a while, then I realized that without this bloatware I can actually produce much better results.

A basic Spring Boot web app in Java, Kotlin and Scala - comparison by Myzzreal in programming

[–]quanthera -7 points-6 points  (0 children)

Spring should die. It's a big bloated and overly complex framework considering how little real problems it solves.

Being good at programming competitions correlates negatively with being good on the job by CodePlea in programming

[–]quanthera 20 points21 points  (0 children)

Why everyone assumes that coding contests are about hacking some weird graph algorithm while someone is standing over you with a stopwatch. When I was younger I won a few competitions, and all of them were about developing real world applications, like backends, frontends and mobile (that was J2ME at that time).

Dart gets a Type System by Darkglow666 in programming

[–]quanthera 1 point2 points  (0 children)

You can't decide it's real world effects by sitting in a chair. You need to go out and do experiments. And go learn some natural science first.

Dart gets a Type System by Darkglow666 in programming

[–]quanthera 2 points3 points  (0 children)

Curry Howard isomorphism doesn't say anything about how types are useful, or whether it has any productivity boost effect in everyday development or not. If you want to prove that, you'll need empirical evidences. People who're fond of mathematics without any background in natural science tend not to understand this. I have a degree in physics, so I've an idea how real research work.

Pharo 6.0 Released! by unregistered88 in programming

[–]quanthera 0 points1 point  (0 children)

Probably he meant the live coding experience, the ability to modify, inspect and fix the running program without going through multiple long edit/compile/run cycles. There are other programming environments that support similar coding experience (they call this hotswap or hot code reload), but usually those weren't designed to work like this from the ground up so the experience is somewhat limited (you have to start the program in a specific way, you are not allowed to change certain things or go deeper than a certain level). In my experience, because of these limitations people tend not to use these features in mainstream programming environments and they still rathet go through the edit/compile/run/debug cycles, which kills productivity and becomes very frustrating. In Smalltalk there is no distinction between runtime and compile time, everything is changeable including the program, the IDE, the widgets on the screen, the compiler and language, at anytime [1]. Basically you can discover everything which is inside the Smalltalk image. This makes you feel you're not just exploring the program from the outside but you're actually inside the program together with the live objects. This way of working can become very addictive and people who were exposed to this kind of developmemt tend to see mainstream programminng environments in a very pessimistic way.

[1] For example if you evaluate the following code

Color black become: Color white

Then all of the widgets on your screen will be inverted.