Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Comment Re:Nope (Score 1) 132

Coding is easy. Coding things right, with some decent abstraction isn't that easy. Thinking an architecture isn't easy. Finding out the requirements and mapping them into a maintainable, testable, delierable-on-schedule application isn't easy.

What's easy is to be a prick.

Comment Re: Linus (Score 1) 928

One of the reasons why I moved away from several Linux machines was because no matter what scheduler I used, disk IO always slowed the system down to a crawl. It's supposed to slow, but not like that. I mean the mouse was jerky, applications would stop responding...this with a single set of cp commands, let alone when I ran out of RAM and the beast started swapping in and out.
I was told to get an SSD. I switched OSes and it got better all of a sudden. Weird. 8 years down the drain.

Comment Re:another language shoved down your throat (Score 1) 415

>If you've never run into that problem, how can you understand the need for a solution?

Partly because you're oversimplifying (OOP doesn't just exist to solve _that_), and partly because sometimes you just find some tools to intuitively feel better than other tools for a job. I'm not saying you shouldn't find out what problems something tries to solve -- I do some tutoring to help my classmates (and some freshmen) improve their grades, and one of the things I stress is precisely that which you described, I always present them a new concept as the solution to a problem; I think that's the way to go. What I'm saying, however, is that it isn't always the case that we need to know the problem _before_ we learn the solution. It's not like OOP is "just" a solution to that, so you might be using it to solve your own set of other problems -- and if it feels like the right tool to you (even if it isn't), you don't need to know why it originally existed.

I have to correct myself. I said "It might, in most cases", where I meant "it might, in some cases".
Did you learn assembly, out of curiosity? By the way, I'm also developing a love/hate relationship with Haskell.
As to college, in this matter it isn't very different to any other person learning how to program. They make the same mistakes..it just helped me better understand the kinds of problems my classmates have.

Comment Re:another language shoved down your throat (Score 1) 415

Python isn't bad as a first language. I knew how to code when I got to college (where they use Python -- a very small, procedural, subset of it in the first course). I tracked the progress of my colleagues (and have tracked the progress of freshmen every year). It is clearly a very good choice because it allows them to "get right to it" and to think about algorithms, not syntax. Python is natural, and in two week's time most of them have mastered most of the syntax. I've also seen what happens in other areas where they start with a procedural subset of C++, and others where they start with C. Boy do they have problems getting started...

Do note that I, however, would like to teach computer courses differently, starting from the low-level stuff to the high-level stuff. I know it sounds like I'm contradicting myself, but this is because I think these are just different teaching philosophies, stressing different important things in students' minds -- that is, I don't think Python is a bad choice, I think it's excellent, though I would prefer it if we could shift paradigm and start teaching how it works on the inside before teaching people how to use the outside.

Comment Re:another language shoved down your throat (Score 1) 415

>You can't really understand a paradigm unless you know the problem it was designed as a response for.

Let me disagree with you on that one. While I do think that it is of extreme value to know what problems something (in this case, a paradigm) tries to solve, I do not think that you need to know procedural programming to know object oriented programming. And I'd like to point myself as an example. I started learning to program "for real" with C++. And I still have some of my old code around. It was awful, yeah, sure. It wasn't the perfect object oriented code, I hadn't acquired many, many, many ideas and idioms, so I wrote clunky code. I wrote clunky object oriented code, with objects that meant nothing (they added no real value), repeated classes without abstraction, improper abstraction, etc. Of course, you can also _do_ tell that in some areas I tended towards a more "procedural" way of doing things, but the concepts of Objects, their communication, their relationships, inheritance (heck, even encapsulation), were established well before my procedural programming skills matured.

This isn't to say that I have anything against learning procedural programming first. It might, in most cases, also be beneficial to most people. But as I saw my college classmates go through this (we did procedural Python, then C, then Java), I noticed that many of them had quite a lot of trouble getting rid of the "procedural way" of doing things, and often made more errors than I did when I first learned OOP. Maybe I'm an exception. But, oh well...

Submission + - The AI is taking over (newscientist.com)

Taco Cowboy writes: No, this is not a scifi flick, but real life

The subway system in Hong Kong has one of the best uptime, 99.9%, which beats London's tube or NYC's sub hands down

In an average week as many as 10,000 people would be carrying out 2,600 engineering works across the system — from grinding down rough rails to replacing tracks to checking for damages

While human workers might be the one carrying out the work, the one deciding which task is to be worked on, however, isn't a human being at all.

Each and every engineering task to be worked on and the scheduling of all those tasks is being handled by an algorithm, aka, Artificial Intelligence

Andy Chan of Hong Kong's City University, who designed the AI system, says, "Before AI, they would have a planning session with experts from five or six different areas. It was pretty chaotic. Now they just reveal the plan on a huge screen."

Chan's AI program works with a simulated model of the entire system to find the best schedule for necessary engineering works. From its omniscient view it can see chances to combine work and share resources that no human could

However, in order to provide an added layer of security, the schedule generated by the AI is still subject to human approval — Urgent, unexpected repairs can be added manually, and the system would reschedules less important tasks

It also checks the maintenance it plans for compliance with local regulations. Chan's team encoded into machine readable language 200 rules that the engineers must follow when working at night, such as keeping noise below a certain level in residential areas

The main difference between normal software and Hong Kong's AI is that it contains human knowledge that takes years to acquire through experience, says Chan. "We asked the experts what they consider when making a decision, then formulated that into rules – we basically extracted expertise from different areas about engineering works," he says

Comment Will it really go the pulseaudio way? (Score 2) 179

Wayland and its never-ending stream of stories seems to be going the way pulseaudio did. It's heavily criticized, cuts down some features or is somehow buggy, but seems to give many users what they want, or at least that's what all these crazy stories point to.

As long as I can still run X atop Wayland, I don't really care. I loved pulseaudio when it was being bashed already. Maybe I'll love Wayland too? Has anyone here actually seriously tried this thing before bashing it?

Comment Re:Feels Dated (Score 1) 435

He means he wants to be able to pass an instance, an isolated component which can not only be spawned as part of a thread, but keep an internal state during program existance, and across different thread spawnings. And he doesn't want to do it by using variables defined in another, outside scope (functions, globals...).

Slashdot Top Deals

New systems generate new problems.