Learning

Sep 16, 2005 02:04

Hmm, fairly normal few days with some odd other bits thrown in. To resume from the last (meaningful) entry, the situation... well, was never resolved, but went away anyway. It'll be back I've no doubt, but there's always something to keep my life interesting anyway. I've noticed that my happiness seems to now be tied almost entirely to monetary ( Read more... )

xvii, sleep, graham, shanna, work, monay, dreams, caek, thoughts, programming

Leave a comment

allsorts46 September 18 2005, 23:40:52 UTC
.net is very good if you're very lazy. Like you, at heart I do prefer the control that lower-level languages give you - I've worked with assembly and C and such, but I have the problem that I never get anything done. I know I'm capable of it, but everything just takes so long to build up that I give up before it's finished. That's why (which I probably deserve to be shot for) I've typically turned to Visual Basic when I want something done until now - I hate it, I really really hate it, but it's quick and easy. When .net promised to bring that to C++, I couldn't resist. Depends what you are trying to do of course, but if you want to create a Windows application quickly, you can go through 30 lines or so of traditional API stuff, or you can use:

System::Windows::Forms::Form* MyForm = new System::Windows::Forms::Form;
MyForm->Show();

I know which I prefer. I would hesitantly encourage you to give it another look before dismissing it completely... but I'm not going to try and sell it to you either. It does have it's annoyancies certainly, and when you do hit something it can't do, it's kind of... tough.

I do think we should be cautious though. This kind of thing is in one way good for the industry, and in another way bad; although it makes development of software often a lot quicker, I think it encourages people to get lazy and wasteful. Relying on things like automatic garbage collection means you never learn about careful memory usage, and programs are requiring hugely excessive ammounts of system resources for what they do. C# is even worse for this.

I am a Linux fan, but not currently a Linux user. I love it for what it is, a fast and reliable operating system, and I hate it for the mess that distributions have made it. Even having built a custom installation following LFS, it just takes so much time to maintain, and as mentioned, I'm lazy. I don't enjoy using Windows like I enjoyed working under KDE, but I do get work done without having to be constantly wondering where I can find the right versions of the million libraries that some software I want to use requires. I like it when things just work.

Tried NetHack once, and got eaten by a rat or something similar. Was pretty hopeless, but if I ever get an oppertunity I'll give it another go and perhaps actually get somewhere with it.

No worries about rambling, enjoy a good long comment, and I think I've more than returned the ramble anyway. Good luck to you too - I don't know you half as much as I'd like to, but I know there are at least a few things we do share, and it's great to read how things are going for you from time to time. I really hope you succeed in everything you are trying for, for both you and for Kris. I know I'll be trying, and it's strangle reassuring to know there's someone else out there in a similar situation. I wish you the very best...

Reply

allsorts46 September 18 2005, 23:43:29 UTC
Strangely, even. Strangle is an interesting choice of word, but not the one I was looking for.

I wonder if LJ will ever support editing comments?

Reply

parallaxlioness September 19 2005, 08:34:32 UTC
If you can manage to clear the hurdle of the install process, you might consider trying out Gentoo as a distro. Red Hat can be awful with installations, and Debian's just okay. With Gentoo, however, when I want a program - let's say firefox - I just type "emerge firefox" and it goes to something called the portage tree, figures out all the dependencies, downloads them, compiles them to my system, and then eventually does the same with the actual program. And if I don't want to wait for all the compiling to go on, I can just open another terminal (or background that first process) and type "emerge firefox-bin" which is just what it sounds like. =) Works like magic and gets you custom-compiled, extremely efficient programs for free.

I don't really have a lot of experience writing software for Windows - most of what I do is either net based (PHP or other server-side programming, and in a Linux environment) or built to fit into Linux, which is so liberating. Free, commercial-grade compiler with more free support and documentation than you can shake a stick at. I was once told that learning to program under Windows is like learning to dance while wearing a body cast, and as I've tried to do some things under Windows, I've seen how true that can be.

My primary system in my room, though, does dual-boot. I run Gentoo for coding, surfing the net, chatting... almost everything, really, and occasionally boot into Win2K Pro for Wintendo purposes. Well, that's not fair. I do also use a pirated photoshop. I've been meaning to learn how to use the GIMP, though, which is the free Linux analogue. Photoshop does have some extended features that the GIMP does not, but nothing I can reasonably expect to use anyway. =)

My goal is to get Wine working to the point where I can run my Windows partition as a virtual machine coccooned within Linux, so I don't have to drop everything and reboot to game. That'll take some doing, though. There's a Linux distro that pretty much allows the user to drop in an install CD for any Windows program and install and run it like normal, but you have to subscribe for that service, which is unrealistic for me.

Returning to .net, I could definitely see its usefullness if I were doing a lot of intra-Windows work, but I'm not. If I ever start, I'll certainly look into it again.

It's not entirely about efficiency, though that does matter. I'm all for quick and easy when it's warranted, such as using a scripting language for a program I'll only run a few times, or which only has a few instructions. When it comes to anything at all complex, though, or that I'll be using frequently, it's not uncommon for me to prototype the whole thing in Python so I can start using it instantly, then slowly convert it to C as time permits. It's really more of a hobby than an actual obsession. Good practice, if nothing else.

Reply

Did you know there's a maximum comment size? parallaxlioness September 19 2005, 08:35:16 UTC
I do get kind of concerned about the attitude of a lot of programmers nowadays, especially in the classes where programmers are taught. Teachers seem to spread this attitude of "Our hardware is faster, so it's okay to let our programs get bloated to match." We've all heard of Moore's law, but the irony is that software efficiency seems to be inversely proportional. Some of it's that we're just running more complex, graphic-heavy programs, but a lot of it is also poorly designed languages and lazy programmers, particularly on the corporate level. I'll never forget the day I realized that Microsoft Office is barely able to fit on a CD, compressed, but OpenOffice is something like 65MB, and very much comparable. =) The sheer overhead of a single Word document, for instance, or the unreal amount of resources that Minesweeper takes to run... sometimes it seems hilarious, sometimes, just depressing.

I'm not perfect, either, but I take pride in trying to improve my habits, as opposed to others (not you, but the modern computing world in general) who seem to be increasingly comfortable with regressing into lazy programming in inefficient languages. I'm almost afraid to find out the minimum system requirements for Longhorn. lol

Anyway, I'm not trying to preach, here, just agreeing with a lot of what you said above. I have no doubt that for what you do, .net makes a lot of sense. When you need to rapidly design and redesign systems, letting the computer do the dirty work, even if you could do it better, can be a real lifesaver.

Time for bed, now, though. Heh. And I still have that new entry of yours to read. Forgive me; I'll have to get to it tomorrow. ;)

Reply


Leave a comment

Up