Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror

Comment Re: In before Fractal of Bad Design (Score 1) 247

Which C++ standard? It really matters. They really are completely different languages.

C++98 was only a few steps past "C with Classes". Compare some C++98 code (which at this point looks like somewhat portable object-oriented assembly in terms of abstraction level) to some modern idiomatic C++14 code. Idiomatic C++14 is often closer to a functional language with compile-time computation than anything a C programmer would recognize. No raw pointers anywhere, first-class function objects, implicit dependency ordering on multithreaded computations with continuations, there's a lot to love there. (There's a lot of legacy baggage too, but the core language is actually becoming quite beautiful.)

Open Source

Linux 3.5 Released 277

diegocg writes "Linux 3.5 has been released. New features include support for metadata checksums in Ext4, userspace probes for performance profiling with systemtap/perf, a simple sandboxing mechanism that can filter syscalls, a new network queue management algorithm designed to fight bufferbloat, support for checkpointing and restoring TCP connections, support for TCP Early Retransmit (RFC 5827), support for android-style opportunistic suspend, btrfs I/O failure statistics, and SCSI over Firewire and USB. Here's the full changelog."

Comment What you don't know that you know (Score 4, Interesting) 35

Having just been through this with a friend of mine, who has decades of OO experience in desktop programming, beware of prerequisites that you don't realize they need:

  • Sockets, Ports, Packets. Until you get across the idea that all internet applications communicate through bytestreams, and standard protocols, not much will make sense. Most programmers either haven't used RPC at all, or have used something like COM to do it, not TCP/IP.
  • Multithreading. The idea is still alien to a lot of folks, even people well-versed in Java. They just know that they have to be careful when they call Swing, but not why. Writing web apps, you must have at least an inkling of what thread safety is, and when to synchronize. A brief comment about deadlocks wouldn't be amiss.
  • Permissions. Some people have mentioned security - that only covers the basic part. Teach your students to always consider "What is this {class|person|request|application} allowed to do?" There are lots of things that you can do in a desktop application, including Java, that won't fly under tomcat running in Security Mode. "I just asked for the user's home directory, how come my app won't run anymore?"

If you get any one of these wrong, your web app is doomed to failure. These are tough concepts for some, but they aren't optional.

Slashdot Top Deals

Old programmers never die, they just branch to a new address.

Working...