My long overdue venture into the realm of computer programming...

Started by Virgil0211, August 11, 2011, 11:16:31 PM

Previous topic - Next topic
It was bound to happen sooner or later, but I guess my computer teacher's encouragement got me started. I'm using 'Think Python' and tinkering around with that, already wrote a couple of scripts. It's turning out not to be quite as unpleasant as I'd feared. I may even try to get some certification in this and add it to my resume if it pans out. At the very least, it prompted me to boot up in Xubuntu for the first time in a long time.

(Oh, how excited I was when I saw that the system updates included a change to the Nvidia drivers. How disappointed I was when I found that it had no effect on the screen tearing.)

I actually have a project I'd like to work on, though it's still something of a pipe dream at this point.

I have a friend who's a department head (events/main programming) for an anime convention that's occurring this October. This year, they're finally letting him restructure the back-end the way he wants to, so I'm trying to help him out with that. We have almost no budget (well, actually, NO budget), and one big problem has always been the dissemination of relevant information. I suggested using twitter, as it can easily be utilized by anyone who has a cell phone with texting. This would allow us to not only disseminate relevant information rather quickly, but would also allow us to communicate rapidly with the ground-level volunteers, which is something we've never had before. We could also use this to keep track of events, presenters, emergencies, etc. While this may help quite a bit, there's also a possible complication in the number of twitter accounts we may end up using. I was wracking my brain about it until I got an idea while my intro to computers class was going over how to program simple things in visual basic 2008. What if I just write a program that can manage, organize, and catalog everything for us?

I know, I'm probably getting ahead of myself. The most complicated script I've written thus far is this (in python)-

Quote
print 'What the hell!?!?!'

user_reply = raw_input('Who fucked my wife?! ')

print "Well then,", user_reply,"IS A  DEAD MAN!!!!"


But then again, I just started learning today. Then again, I have no idea just what is considered progressing quickly with this sort of thing.

I'ono. I guess I'm asking if anybody has any experience with this sort of thing, or tips, or even encouragement. This will probably be the first time I've had to just downright teach myself something from scratch and then apply it as quickly as possible.

Shane? Do you recommend I start with visual basic and use that to write the program I want, or should I stick to learning how to use Python? Does my idea even sound feasible in the first place? Will I be required to write it in a specific language (like java or MySQL) in order to get it to work in the first place, considering it involves managing and utilizing twitter's online service? (and if that's a stupid question, I apologize. I'm still a little new at this.)




I recommend you avoid Visual Basic like the plague. Python should satisfy most of your programming needs, but as for Twitter, it all depends on how the API is written.

Quote from: MrBogosity on August 12, 2011, 12:10:30 AM
I recommend you avoid Visual Basic like the plague. Python should satisfy most of your programming needs, but as for Twitter, it all depends on how the API is written.

Got it. Is there an equivalent IDE for python that you would recommend? I mean, what little I used of Visual Studio in that computer class seemed pretty straightforward.

And I'm still having some troubles with getting Ubuntu to work properly on my computer, so I may have to stick to programming in Windows for now. One of these days, I'll have enough money saved up to build a computer that I can actually use Ubuntu on. :-P

I'm an old-school programmer, so I just type. But you can Google for python and IDE and see what other people recommend.

Quote from: MrBogosity on August 12, 2011, 12:10:30 AM
I recommend you avoid Visual Basic like the plague. Python should satisfy most of your programming needs, but as for Twitter, it all depends on how the API is written.

And of course they taught us Visual Basic in High School...
I do have some experience in Java.  What is your opinion on that?
"When the mob and the press and the whole world tell you to move, your job is to plant yourself like a tree beside the river of truth, and tell the whole world—'No. You move.'"
-Captain America, Amazing Spider-Man 537

Quote from: MrBogosity on August 12, 2011, 09:45:41 AM
I'm an old-school programmer, so I just type. But you can Google for python and IDE and see what other people recommend.

Would I be better off learning to use an IDE for making a GUI, or do you recommend sticking to typing? Do you have any difficulties with making a GUI this way?

Quote from: surhotchaperchlorome on August 12, 2011, 12:20:22 PM
And of course they taught us Visual Basic in High School...
I do have some experience in Java.  What is your opinion on that?

Good idea, terrible implementation. Buggy, bloated, and more trouble than it's worth.

Quote from: Virgil0211 on August 12, 2011, 12:25:55 PM
Would I be better off learning to use an IDE for making a GUI, or do you recommend sticking to typing? Do you have any difficulties with making a GUI this way?

Probably get an IDE. That's what I would do if I were learning it today.

Quote from: MrBogosity on August 12, 2011, 12:29:41 PMGood idea, terrible implementation. Buggy, bloated, and more trouble than it's worth.

Naturally. >_<
It sounds like you'd recommend Python.  What about Perl?
"When the mob and the press and the whole world tell you to move, your job is to plant yourself like a tree beside the river of truth, and tell the whole world—'No. You move.'"
-Captain America, Amazing Spider-Man 537

Perl is useful but overrated. At this point I'd say it's even obsolete.

Quote from: MrBogosity on August 12, 2011, 01:13:23 PM
Perl is useful but overrated. At this point I'd say it's even obsolete.

What coding languages do you personally use, and which ones do you plan to learn in the future at this point?

If you were my age (24), and planning to learn programming languages so that computer programming becomes a potential career path, which ones would be best for you to focus on?

Also, slightly off topic, but...



(mouse-over text)

"To anyone who understands information theory and security and is in an infuriating argument with someone who does not (possibly involving mixed case), I sincerely apologize."

Is there any truth behind this comic? I mean, would the second password really be that difficult for a computer to guess?

Quote from: Virgil0211 on August 12, 2011, 03:14:01 PM


(mouse-over text)

"To anyone who understands information theory and security and is in an infuriating argument with someone who does not (possibly involving mixed case), I sincerely apologize."

Is there any truth behind this comic? I mean, would the second password really be that difficult for a computer to guess?
(Emphasis added by me)
Seconded.
"When the mob and the press and the whole world tell you to move, your job is to plant yourself like a tree beside the river of truth, and tell the whole world—'No. You move.'"
-Captain America, Amazing Spider-Man 537

Yes, it would. There seems to be a consensus among security experts about how long that would take. Here's Steve Gibson's version; try it yourself:

https://www.grc.com/haystack.htm

Now if you used something personal, like the names of your kids, that's something a hacker might get with some social engineering. They'd have to be random words, unrelated to yourself or each other.

Quote from: MrBogosity on August 26, 2011, 06:58:18 PM
Yes, it would. There seems to be a consensus among security experts about how long that would take. Here's Steve Gibson's version; try it yourself:

https://www.grc.com/haystack.htm

Now if you used something personal, like the names of your kids, that's something a hacker might get with some social engineering. They'd have to be random words, unrelated to yourself or each other.

Thank you for that link. It provided a good laugh when I challenged my friend to compare his own password with "Ashtray soda pop dingo." :-P Granted, there's a chance that the hacker might have that particular Boston Legal quote in his list of phrases to check first, but it was still an interesting comparison, especially when I pointed out how the easier one to memorize was the harder one to crack according to the calculator. :-P

My ventures aren't going as smoothly as I'd like. The main problem was maintaining the practice while at the same time moving back into college housing and getting on my feet with my courses. I did, however, use what I've learned and a little bit of guesswork to program my TI 83 Plus calculator for my business analysis class. It's the only class I've had in the last several years that allowed those, and the teacher hasn't said anything about whether or not we can program it, nor did he ever check them to see if they had programs in them. So, yeah, my tests in that class are going to be alot easier. :-D

I took a little look at C++ while I was at it, and part of me is thinking about trying to study a little bit of that while brushing back up on what I read about Python. I'm hoping it'll help me maintain my interest. What exactly are the advantages of C++ over Python and vice versa? In what situations would you say you must absolutely use C++ over Python, or vice versa? Why is it the 'cout' command in C++ instead of something easier to remember, like Python's 'print'? ;-P

C++ is a lower-level language that can compile some sweet, efficient code. Big apps should use C++. Smaller ones can get away with Python. You just have to be more careful because you're more vulnerable to things like buffer overruns.

As long as you programmed the calculator yourself, I wouldn't think it would be a problem. I mean, you HAVE to understand it to be able to program it!

Quote from: MrBogosity on September 14, 2011, 05:02:57 PM
C++ is a lower-level language that can compile some sweet, efficient code. Big apps should use C++. Smaller ones can get away with Python. You just have to be more careful because you're more vulnerable to things like buffer overruns.

Is Python the one more vulnerable to buffer overruns, or is it C++? And just what is 'big'? Is it a specific file size or a general range of how much of the computer's memory the program uses?

Quote from: MrBogosity on September 14, 2011, 05:02:57 PM
As long as you programmed the calculator yourself, I wouldn't think it would be a problem. I mean, you HAVE to understand it to be able to program it!

That was my ready-made defense if he said anything to me about it, but I guess they'd worry that we were using it to avoid having to memorize formulas. Not that it would do any good for that anyway. I already memorized the ones that didn't come on the calculator already, and the ones I had problems with come with applications for them pre-loaded on the damn thing already. :-P

I'm starting to fall hard for this programming stuff. I don't know why I didn't get into it any earlier. I would've loved to know some of this stuff when I was a kid.