Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×

Comment Re:This guy hasn't done his research. (Score 1) 648

References are essentially the same as pointers anyway for what matters here.

I think this is why we are disagreeing. I don't consider them the same. (Reference in Python doesn't mean the same as reference in C++. Those are, indeed, essentially pointers.)

Using Python references does, indeed, enable a high level understanding, but it doesn't facilitate a low level understanding. And I consider hash tables (dicts) much more important than priority queues...which, of course, is why Python has them built-in.

Comment Re:This guy hasn't done his research. (Score 1) 648

Well, no. Pickle doesn't solve this, as it requires the entire file to be one image. Shelve is closer, but still doesn't fit my needs. I need to stick data structs into a database, and what I settled on as the best option available is a combination of rexpr and ast.literal_eval. But that *does* mean converting everything into text to save it. (Pickle allows untrusted data arbitrary execution, whereas ast.literal_eval just reconstitutes forms that are built-in and are safe, or at least that's what the docs say.)

Comment Re:This guy hasn't done his research. (Score 1) 648

Python doesn't implement its data structures in Python, though there is usually a Python implementation with the same interface...but which is a LOT slower. But Python doesn't have pointers. (References are close, but not really the same.) So Python isn't a good choice for implementing data structures as a teaching environment. I haven't looked into how Smalltalk implements them, but I suspect its basically the same approach. The advantage of references is that they allow garbage collection to be efficient, but the concept is sufficiently different from pointers that it prevents actual understanding at a low level.

OTOH, I'm not sure how a pointer language should handle memory allocation and release in an introductory course. (I started with assembler and FORTRAN IV, so I don't have the correct perspective.)

Comment Re:Teach them Java or C# (Score 1) 648

Well, when I started the first thing we were taught was assembler...of course, assemblers were simpler then. I found it useful for quite awhile, but these days I never look at assembly code (though others do).

To me it seems that C is the proper language to start with for high school or later. Younger students might benefit more by learning something like Scratch. But C is a "portable assembler". (Well, almost.) It is simple enough to do simple things in, and it enables the teaching of data structures, logic, debugging, etc. BUT DON'T STOP THERE. You also should teach Java, at least a bit of Scheme or Lisp, and probably Python and Ruby. And, of course, some C++. These latter languages don't need the depth of coverage that you should give to the first language (i.e., C), but enough that you can see what their strengths are. Say a week on each, in each case translating some program that you've done earlier in C.

I've probably outlined more than a one year class, however.

Comment Re:This guy hasn't done his research. (Score 1) 648

What is a "scripting language"?

FWIW, Python compiles text file to run on a virtual machine, so it's a compiler. I'll agree that it's not particularly efficient, but most things I work with end up being I/O bound, so Python is "fast enough".

What I don't like is that it's difficult to dump a piece of data to the disk without converting it into text first. Everything ends up depending on pointers (hidden from the user, so you don't need to worry as long as everything stays in RAM). This would make structs useless even if Python supported them. And this is the kind of inherent inefficiency that bothers me...but it's so much faster to develop in, that I'm using it now, and after I finish I'll consider what parts to convert to something else.

P.S.: For many things Python is quite efficient, because so much can be done with built-in libraries (that were hand-coded and optimized in C). I'm not claiming that it's totally efficient, but there are lots of tradeoffs.

Comment Re:This guy hasn't done his research. (Score 1) 648

The thing is, if you're using Python you don't implement lists, you use the built-in functions. So it seriously depends on what you want to teach.

If you want to teach data structures, C is a better language, because you aren't teaching them to ignore the characteristics of the language. If you just want to teach basic sequencing, etc., something like Scratch is better. It's sort of a graphical subset of Smalltalk adapted for simple animations, or perhaps a cross between Smalltalk and Logo, but the programming is visual rather than typing. It's designed to be useful for grade school children. It's great for teaching sequencing, composition, logic, etc. It's lousy for teaching data structures.

Personally, I can't see any justification for selecting VB *or* VB.net. I.e., I can't imagine what you are trying to teach that would make VB the preferred language. And while Python is a better choice, I can't see that as an introductory language either. Were I doing it I'd probably have them use Scratch first and then switch over to C, or a C++ subset that was equivalent. This would, however, be a jarring transition. Scratch is a contained environment designed to be attractive to young children. It would be an easier transition if one started with Squeak's etoys, but it would make for a rough start, and the last time I tried it (years ago) there were several bugs that would make getting started difficult.

Comment Re:In other words ... (Score 2) 73

It seems to be crucially dependent on the size of the area. Towns often have decent governments, cities more rarely, states ... only the small ones. The country...no.

That said, another factor is the number of more powerful groups looking over your shoulder. If a city or town becomes too corrupt either the state or the feds are likely to step in. (I don't know how analogous this is to Canada, but I suspect it's a global property.)

Comment Re:Same old, same old (Score 1) 84

You are mistaken in equating the two. KDE attempts to serve a large user community, who have diverse interests. Gnome attempts to serve a large coprorate community who have diverse interests. There's a lot of difference in what their goals are. (Even given that I consider Gnome3 a mistake.)

OTOH, both are serving systems running on large general purpose computers. Both *can* be run headless, but neither is designed for that purpose.

If you're going to run on a small system you should pick a different desktop, if any. I can't even give any guidelines, as which is a good choice depends on which constraints you have, and if you're even considering KDE, something like blackbox would be unreasonable. You might look at fwvm.

Comment Re:In the very first image... (Score 1) 84

That would be a good reason. Unfortunately there tends to be a very high noise level, and all people are subject to confirmation bias, so it doesn't usually work. Especially on general audience sites. Which is really unfortunate.

There needs to be a way in which the level of like/dislike can be measured, but that requires both closing the feedback loop and reducing the noise level. (If you don't reduce the noise level, only the noise ends up getting amplified.) But just TRY to design a filter that will do that job!

Comment Re:kde5 (Score 1) 84

I don't use fancy features, and I NEVER experienced problems with KDE4, even 4.1. OTOH, I have not, and do not, think the user interface is as well designed. It's just better than Gnome3, which isn't hard. But the tools are nicer than xfce tools, so I end up useing KDE4 not because it's my preference, but because my preference isn't being maintained. KDE3 was the best desktop to use that I have thus-far experienced. (And Trinity wasn't as good the last time I installed it. Largely because it didn't work as well with the underlying system.)

FWIW Gnome2 was better than KDE4, but not nearly as good as KDE3. And just forget Gnome3.

Comment Re:Wow, that actually looks decent (Score 2) 84

Were you actually being a "Grammar nazi", you would note that "ex" is an abbreviated form of "ex-wife", "ex-husband", or "ex-spouse". (I don't think there are any other valid candidates in this usage.) As such it doesn't have a valid plural form except in the way that "sheep" is the plural of "sheep". This is because the different extensions from their plural in different ways. I mean, just consider "exives" or "exs". So if you elide the variety of spouse, then you simultaneously elide the plural form, and thus "ex" is the plural of "ex".

Comment Re:Jesus. I'll stick to Win7, thanks. (Score 1) 84

Stable? I doubt it. I've rarely had a (non-design) problem with a KDE desktop in the stable line. (None in the last year. Possibly none last year, but I'd need to check as I was doing some experimentation with other desktops.) The possibly valid arguement is that it is missing features, which I wouldn't know about, as I won't use MSWind due to license issues.

FWIW, xfce, which I have had occasional problems with, is my second choice after KDE. The existence of problems doesn't mean that there isn't a way to work around them. I prefer some of the ways in which it implements feature (from a user perspective, I don't design desktop software).

Comment Re:Not always Free Speech (Score 2) 88

Actually, I'm willing to believe what he says, i.e. "most of the complaints are about actual copyright infringement", without proof. That these don't get reported is what one would expect to see, and given how easy it is to make a direct copy, one would expect that to happen often.

So what? How much harm does an instance of copyright infringement do compared with censoring one instance of free speech. Even the great predominance being valid complaints would not suffice to justify this act, and in particular the requirement of difficult proof on the part of the poster rather than on the part of the complainer. (Additionally it should be relatively easy to prove genuine copyright infringement in any clear case, whereas proving that it isn't copyright infringement is likely to require purchasing something that may not be available, and in any case would enrich the unjust complainer.)

The law as written is grossly and intentionally unfair, and I cannot accept that ANYONE who uses it is doing so in good faith without extensive proof.

Slashdot Top Deals

Say "twenty-three-skiddoo" to logout.

Working...