Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Trust the World's Fastest VPN with Your Internet Security & Freedom - A Lifetime Subscription of PureVPN at 88% off. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. ×

Comment Basic data structures, sorts, memory allocation... (Score 1) 606

Modern programmers have no idea how a linked list or a hash table are stored how, how sorts work, how garbage collection and memory allocation actually works...

This was really driven home to me when one of the Java guys was trying to look at some C code and thought the linked list stuff was a bug he'd found. 'It's just a reference back to itself!'

I have to admit that mostly it doesn't matter, but occasionally their assumptions of infinite memory and infinite processing power lead them to do some really dumb things that are inconceivable to anyone who actually knows how things work under the hood. I've given some of their Java code a 1000x speedup just by the simplest optimizations like not reading the entire file every time to process a single line.

Comment No it's not for vaping, it's chip manufacturing (Score 2) 101

As amusing as it is to contemplate the douchepocalypse an Apple vapor would entail, the patent is clearly for chip manufacturing and the guy who filed it is one of Apple's chip people.

Remember, Apple is very big into custom silicon, and like everything else they want control of every step of it and that includes how the chips are made.

Comment Re:Hey look! (Score 2) 199

Ruby is a good example of the magpies in action - they hop from flavor of the year language to language to have something new on the resume and to get in while it's still fun and they can still be trendmakers.

Then they flocked off to whatever the new hotness was (I've lost track) and left it as 'That language you use for Rails'.

Python people just want to get their work done and have the code be maintainable, so it endures.

Nim is somewhat interesting, but even that article says that now the hard work starts - you need a library for /everything/.

Comment It's not computers, it's you. (Score 2) 449

Developing GUIs for databases on Windows 10 is not going to be fun and cool. But that existed back in the 80s, it was COBOL on mainframes.

If you want it to be fun then you have to pick something fun, which usually involves one of the small boards like Arduino, Raspberry Pi, adding some motor control... This is what I do. These small systems are all quite digestible and have stuff built in we would have killed for, and you can make actual things which do things, be they useful or just playful.

Or you could develop games for a classic system - there are still people doing homebrew games for all the old systems like Megadrive, Speccy, Apple ][, C/64, Lynx, etc etc. Or there's RPGMaker.

There is so much awesome stuff going on right now from Arduino-like Maker stuff to drones to GPU power to deep learning to VR - I just got excited about a cheap tiny little camera component (neeeerd).

So when you say 'computing isn't as fun and cool as it used to be' you mean YOU aren't as fun and cool as you used to be - and who is, besides Betty White? Not me. But that's what really happened, don't blame it on computing. You let your skills decay, didn't keep up to date, don't get excited by new stuff, and are too lazy to even keep up with what you knew how to do. The C64 is still thriving if you thought it was more interesting than watching sports or, oh hey, Westworld is on, I'll start tomorrow.

Comment Python will continue to do fine - it's readable (Score 4, Insightful) 187

First, I know Javascript is wildly more popular as the language that runs everywhere, but it's not what most people use when they're writing a system / glue script - though some people do, they've got a hammer.

Python's the utility / glue scripting language of choice precisely because it's READABLE - it doesn't have nine different ways to do everything like Perl does which makes it less expressive but more comprehensible and maintainable. You can definitely bang stuff out faster in Perl, but you can come back to the Python four years later and easily figure out what it's doing (just did that recently, fixed a large four year old 2.x script for new requirements and features and upgraded it to Python 3.x in a day, most of that testing), or grab someone else's Python and maintain it with reasonable effort unless they were seriously defective. Terrible programmers can write Perl in Python, and great programmers can write very maintainable code in Perl, but the language heavily skews the odds.

Remember when Ruby briefly seemed like a contender for Python? Well, it was neat, and decent enough (I used it), but it had too many perlisms (punctuation vomit syntax) which made it similarly not so readable, and then all the magpies flew away to the next hotness and I went back to Python as more maintainable - and more capable because of the strong library support. And now Ruby is just 'That language you use for Rails'.

Similarly, people like to bitch about the whitespace, but it forces readability. Perl people considered cramming 5 or more lines worth of Python on a single line a bragging point, and it was when vertical space was limited, but it's hell for readability and maintainability and we've got big monitors now. And if you have any code skills at all the whitespace is not a problem - I do Python, C#, C++, bash, Haskell, ASM, and VHDL - all wildly different, and the biggest problem is remembering how each does '# of items in a collection' (Count? count? Count()? Length? length? sizeof()?) - whitespace is not even on the radar.

A more valid complaint is that Python has relentlessly marched towards cleaning itself up even if that breaks compatibility - it is not afraid to clean up terrible mistakes it has made (usually on new features) rather than leaving them in forever for compatibility reasons like bash has to. I know that's a big sticking point - it can be jarring when old code breaks, but locking old code you don't have the time to maintain to a specific version has worked pretty well for us. Mostly that's just segregating things as 2.x or 3.x. Code we have kept up to latest version has improved as a result as the language improves.

Biggest weakness - the lack of compile time checks due to strong but dynamic typing continues to be an Achilles heel for any large project. Python (and other scripting languages) just aren't suited for that and we don't use it for that. Use something with static compile-time checking like C# or C++ - yes, after all my kvetching about readability we still use C++ for some things because nothing else fills its niche.

Comment Loyal support of a giant company is just dumb (Score 1) 157

Unless the company has personally treated you amazing, being the white knight for a giant corporation is an incredibly dumb thing to do, and something you only do because we're just hairless tribal chimps. But you can overcome that.

Be a whore. Buy whatever's best at the time. When the AMD M1s were out I used nothing but. Then they slowly fell behind and I switched to Intels, and have been there ever since - I had hopes for Piledriver, but no. But if the AMD Zen is as good as it looks then I'll be all over that. Same thing with graphics cards. I've done Voodoo, Matrox, ATI, Nvidia, AMD, using an NVidia 1080 right now just because it was best bang for the buck with least power and noise.

Do you really think they care if AMDNo1Fan is out there defending it in every thread and loyally buying only AMD? Only insofar as it means they can raise prices on you. Buy from someone else and force them to get better.

Comment Consumers are right (Score 1) 181

Updating the fucking lightbulb because the thing Phillips sold you is a piece of shit is not the job of the customer. They bought an appliance that's just supposed to work.

I don't buy any of them because I know Internet of Shit companies have completely blown it there and in every other way and it's going to get a lot worse before it gets better.

Pardon the strong language, not trolling, this is just such an obvious, predictable, very predicted cluster that I have Strong Feelings.

Comment Re:Use Shut Up Windows 10 (Score 1) 175

You use what you need to. Sometimes I use Windows, sometimes I use BSD, sometimes I use MacOS, sometimes I use Debian, sometimes CentOS yadda yadda yadda. The craftsman skill is to know the strengths and weaknesses of each one and how to fix them. They're all sgreat in various ways and all shit in various ways and they can all be redeemed if you know how.

Or you can just hold your nose and be RMS tootling his recorder while dancing in a tutu.

Comment ASUS ZenBook series (Score 1) 315

They've got a whole range of laptops that are generally sane - for instance ctrl key is on the outside left not the f@#!$ing Fn key. Last time I looked, which was 8 months ago, I got one with a 17" 4k screen, 16 gigs RAM, 512 gb PCIe SSD, 3 usb3 ports for $1100 and I'm sure that's cheaper now. And it'll be much cheaper if you want a smaller screen - but I have to do real coding and design work on this on the road so went as large as possible.

Note - like Lenovo or Dell their autoupdate stuff is poop.

Comment Pwnage Guarantees (Score 4, Funny) 110

It's about time - I keep running into issues with my IoT botnets, car overrides, and industrial process control malware where I just can't guarantee that I can get into these hideously insecure systems on a fixed time budget.

This is a serious concern, because when I can only deliver 500,000 insecure baby monitors to my Russian masters instead of the 800,000 they demanded, that's a polonium-210 desert!

(Seriously, this is actually a real issue that needs to be fixed- you want real-time ethernet for some things like you want a real-time kernel, but I can't help picturing this as working on how reliably you can get across a flaming bridge).

Slashdot Top Deals

You're at Witt's End.