Page 15 of 66

Re: Beseech thy lord

Posted: Mon Nov 05, 2012 4:23 pm
by ArchAngel
Not sure what the qualifications are.

Re: Beseech thy lord

Posted: Sat Nov 10, 2012 9:30 am
by Chozon1
Being alive and having a vengeful spirit.

Sport jackets?

Re: Beseech thy lord

Posted: Mon Nov 12, 2012 8:44 am
by ArchAngel
I have one and I like it very much. Great for those occasions where you want to look classy, but a suit is too formal and too businessy. Perfect for events that are supposed to be fancier and more formal, but still relaxed. A nice dinner, and business holiday parties. Especially if they are held at a winery and you're supposed to dress wine country casual.

Re: Beseech thy lord

Posted: Tue Nov 13, 2012 3:46 am
by Deepfreeze32
What are your thoughts on Distributed Computing?

Re: Beseech thy lord

Posted: Tue Nov 13, 2012 7:09 pm
by ArchAngel
Added complication, but a pretty good solution for increasing the scalability of your software. We had to use this at my old company because of one of our clients userbase was too large for a single server.

Re: Beseech thy lord

Posted: Sun Nov 18, 2012 5:29 pm
by Chozon1
Islands?

Re: Beseech thy lord

Posted: Sun Nov 18, 2012 7:31 pm
by Deepfreeze32
NP-complete problems?

Re: Beseech thy lord

Posted: Mon Nov 19, 2012 2:19 am
by ArchAngel
Chozon1 wrote:Islands?
I'm up for owning one.
Deepfreeze32 wrote:NP-complete problems?
Haven't dealt with the theoretical nature of NP(or P) since college. I forgot much of it.

Re: Beseech thy lord

Posted: Sun Nov 25, 2012 3:51 am
by Chozon1
If I giggled when you said "the theoretical nature of P", what does that mean in relation to maturity?

Also, McGangbangers?

Re: Beseech thy lord

Posted: Mon Nov 26, 2012 6:40 pm
by ArchAngel
No, but I will throw some mcnuggets into my mcdouble.

Re: Beseech thy lord

Posted: Mon Nov 26, 2012 7:36 pm
by Deepfreeze32
Kernel programming?

Re: Beseech thy lord

Posted: Mon Nov 26, 2012 9:56 pm
by ArchAngel
Haven't done it.

Re: Beseech thy lord

Posted: Sun Dec 02, 2012 4:53 am
by Chozon1
ArchAngel wrote:No, but I will throw some mcnuggets into my mcdouble.
Wholey crudstanks...I must eat this. O_O

McNuggets are underrated?

Re: Beseech thy lord

Posted: Sun Dec 02, 2012 5:39 am
by Deepfreeze32
So I'm going to make the (Probably reasonable) assumption that you experienced a fairly normal CS education in college. Start out with C/C++/Java programming, get good at that for a year or so, then learn things like Assembly, computer architecture, OOP, Algorithms, and so forth.

A friend has proposed an alternative solution which I'm thinking may be a good idea. Instead of learning high-level programming first, start at the Assembly level. He suggests that we use a good hypothetical computer (Like MIX) to teach the basics of zero-abstraction computing. Learn really basic Assembly operations (like arithmetic, jumping, and a general program flow with a stack-based idea) for the first semester. Then learn things like C and C++ which provide abstraction but still allow Assembly operations. His thought is that if you learn the low-level stuff, not only will you appreciate high-level more, but you'll associate the abstracted concepts with what the CPU is actually doing, thus allowing the programmer a better handle on programming as a whole.


What think you?

Re: Beseech thy lord

Posted: Mon Dec 03, 2012 7:32 pm
by ArchAngel
[quote="Chozon1"Wholey crudstanks...I must eat this. O_O

McNuggets are underrated?[/quote]No, they are overrated. I don't hate them, but I don't find them great either. It's cheap chicken when you can pick up 20 for $5, though. Pink slime, baby.
Deepfreeze32 wrote:So I'm going to make the (Probably reasonable) assumption that you experienced a fairly normal CS education in college. Start out with C/C++/Java programming, get good at that for a year or so, then learn things like Assembly, computer architecture, OOP, Algorithms, and so forth.

A friend has proposed an alternative solution which I'm thinking may be a good idea. Instead of learning high-level programming first, start at the Assembly level. He suggests that we use a good hypothetical computer (Like MIX) to teach the basics of zero-abstraction computing. Learn really basic Assembly operations (like arithmetic, jumping, and a general program flow with a stack-based idea) for the first semester. Then learn things like C and C++ which provide abstraction but still allow Assembly operations. His thought is that if you learn the low-level stuff, not only will you appreciate high-level more, but you'll associate the abstracted concepts with what the CPU is actually doing, thus allowing the programmer a better handle on programming as a whole.


What think you?
Well, I actually started with BASIC around age 9 or so, so the weeding programming classes were pretty breezy for me.

I don't think I prefer that as a program. Yes, learning Assembly helps with granular knowledge, but that's not the fundamental things you need to know about programming. It's logic, the ability to problem solve and architect solutions, that is fundamental to software engineering. I think starting with Java is pretty good; it's beginner friendly, gets your hands in some OOP, and really gets you started programming solutions pretty quickly. If I were to add something earlier in the learning path, maybe a very approachable system to get people thinking about using logic systematically to create structures and solve problems. Maybe some visual programming system where the users stacks blocks and pipes and they get to watch their logic system in play.
Starting with assembly will also give people trying out CS the wrong idea on what programming is. A lot of people try the intro to programming class as their first foray into computer science. It's important to show the fundamental ideas on what programming is, and not the underpinnings of high level languages or what programming used to be.

Now, I very much enjoyed doing assembly and learning about computer architecture, but much of that was out of appreciation for my understanding already of programming.
In another example, if I were to teach someone to drive a car, I'd start by getting them driving in a safe environment (java). Maybe even start out with smaller application, like a go-cart (the visual programming system). Going into the mechanics of a car, or what driving used to be like pre-ABS, pre-power steering, when we had to hand crank it, is just giving the wrong initial idea.
Once they become more familiar, I'd introduce them to the underworkings of the car, and how the throttle works by regulating the fuel/air composition, and how shifting gears is important because the RPM ranges of the engine and how the transmission works around this.

Now, I'll admit I'm a little biased on this. While, just as I said, I enjoyed working with assembly, I'm a high-level programmer and I view high-level programming as the future. You might be able to gain small improvements on efficiencies by programming low-level, but the compilers themselves do a great job, and high level languages allow you to build complex structures needed to meet today's software requirements. It's just a lot of extra error-prone work and just needlessly rigorous.
I'm not arguing that it's not important for a programmer to understand low and assembly level programming, along with the computer structure, but I don't think it's so important that we need to start out with it.