Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks.
On June 21 2013 10:44 Roe wrote: Sort of on the note of the last questions, what would be an average or exemplar day of being a programmer? From 9-5, what kind of things do you face?
I think it depends a LOT on what kind of programmer you are, what company you're working with etc.
Personally, I maintain and develop a few big intranet applications for a big swedish company and my day basically consists of picking what to develop and get going. The company handles new developments by deciding on a few upgrades they want to make, budget them out over the year and then take them a few by the quarter, so there's usually a few upgrades like this to work on. It generally comes down to first finding out how the hell the current functionality works, add the upgrades, then test them. Then you let the company testers go for a round and fix all the feedback.
While doing this, you generally throw in some bugfixing. Lots of debugging, then usually some easy fix and some correspondence with the person who wrote the ticket.
Add in a sprinkle of meetings (not so bad for me, my boss takes care of the majority of it) and that's about my day.
It's pretty hard to go into more detail since I'm a consultant, so my workload and my actual activity varies a lot. It's generally quite simple stuff, basic C#, HTML, Javascript, CSS... Obviously quite a bit of SQL work. But it's almost always the case that I have a powerpoint spec showing how the upgrade result should look like and work, and then you just implement it.
I just wanted to know if focusing on C from the beginning would be a big benefit when I'm most likely going to do my own little projects rather than anything big. Seems like I can do that with just high-level languages but I surely want to check out C sooner or later, just to keep that door open because you never know if things change. Thanks for the answers.
On June 23 2013 21:05 Intgrl wrote: I just wanted to know if focusing on C from the beginning would be a big benefit when I'm most likely going to do my own little projects rather than anything big. Seems like I can do that with just high-level languages but I surely want to check out C sooner or later, just to keep that door open because you never know if things change. Thanks for the answers.
What kind of projects do you want to make? Many high level languages are based on C. For example, C++ is basically an extension to the C language. Indeed, C code will actually compile in a C++ compiler (unless it uses "class" or "template" as a variable or function name, of course XD). Personally I don't see why you shouldn't just skip straight to learning a higher-level language, like C++, C# or Java. The book that I used to teach myself C++ in high school recommended against learning C before learning C++, since C will teach you many practices which are considered bad in C++ (such as using #define to create symbolic constants, which the author referred to as the "old-fashioned, evil, politically-incorrect way of doing it", lol). If, after learning a high-level language, you really want to learn C, it shouldn't be too hard.
On June 21 2013 10:44 Roe wrote: Sort of on the note of the last questions, what would be an average or exemplar day of being a programmer? From 9-5, what kind of things do you face?
These times this pic is quite outdated as even big pieces of software frequently compiles in few minutes tops on modern computers (I guess there are exceptions but few).
However if you work with databases (and I don't mean as in using it for storage dump for program but really working with the data) you can end up having tons of time waiting for the result of the query. Databases rule.
I spend probably an hour a day or more waiting for things to compile (usually I do other things during this time), and I have a 12 core Xeon and a hugely distributed build system. If you think that comic is outdated, you just haven't seen a codebase of sufficient size yet
On June 23 2013 21:24 bypLy wrote: would you recommend learning php or phyton if you had to choose between the two?
Depends on what you want to do, would be the generic standard answer.
But I am assuming you ask this because you just like to learn a new language. In that case, pick the one that seems most fun. Because 'being fun' is the biggest help in learning something. Perhaps base this on what learning material / tutorials you can find.
Personally I would say python because I am biased against php. But I haven't touched php since version 5 came out, which has seen some important improvements iirc.
Any language learned is extra experience and useful in the long run.
On June 21 2013 10:44 Roe wrote: Sort of on the note of the last questions, what would be an average or exemplar day of being a programmer? From 9-5, what kind of things do you face?
These times this pic is quite outdated as even big pieces of software frequently compiles in few minutes tops on modern computers (I guess there are exceptions but few).
However if you work with databases (and I don't mean as in using it for storage dump for program but really working with the data) you can end up having tons of time waiting for the result of the query. Databases rule.
I spend probably an hour a day or more waiting for things to compile (usually I do other things during this time), and I have a 12 core Xeon and a hugely distributed build system. If you think that comic is outdated, you just haven't seen a codebase of sufficient size yet
On May 19 2013 22:40 3FFA wrote: I've learned quite a bit about Objective C. and have learned how to make some basic iOS apps. Any good online courses I could take to expand my knowledge of what I can actually do with the iOS?
edit: For example, I have made a basic + - * / calculator, a small war-like card game, and a guessing game app in my High School's programming class. I am hoping to take a class to expand upon this knowledge in the Summer.
No one?
I'd highly recommend CS:193p taught via ItunesU with Paul Hegarty. All of the lectures you can get for free I believe off of Itunes, and it was a really well taught lecture series that my university incorporated into our own iOS development class. Hope this helps!
Ok, I've started going through the Fall 2011 course. I'm curious, why doesn't
NSString *digit = sender.currentTitle;
work(it worked in the course video)? All the other dot notation shown in the 2nd lesson, the calculator demo, works. However, for this, XCode only accepts
NSString *digit = [sender currentTitle];
as it thinks sender is an undeclared variable if dot notation is used.
Also, in what sort of cases would putting @synthesize brain; instead of @synthesize brain = _brain; cause a problem?
On June 21 2013 10:44 Roe wrote: Sort of on the note of the last questions, what would be an average or exemplar day of being a programmer? From 9-5, what kind of things do you face?
These times this pic is quite outdated as even big pieces of software frequently compiles in few minutes tops on modern computers (I guess there are exceptions but few).
However if you work with databases (and I don't mean as in using it for storage dump for program but really working with the data) you can end up having tons of time waiting for the result of the query. Databases rule.
I spend probably an hour a day or more waiting for things to compile (usually I do other things during this time), and I have a 12 core Xeon and a hugely distributed build system. If you think that comic is outdated, you just haven't seen a codebase of sufficient size yet
I wonder what kind of system are you compiling.
He is compiling Google.
Not necessarily. I heard that compiling PostgreSQL takes around 1h on good setup but still you don't work on such system everywhere.
On May 19 2013 22:40 3FFA wrote: I've learned quite a bit about Objective C. and have learned how to make some basic iOS apps. Any good online courses I could take to expand my knowledge of what I can actually do with the iOS?
edit: For example, I have made a basic + - * / calculator, a small war-like card game, and a guessing game app in my High School's programming class. I am hoping to take a class to expand upon this knowledge in the Summer.
No one?
I'd highly recommend CS:193p taught via ItunesU with Paul Hegarty. All of the lectures you can get for free I believe off of Itunes, and it was a really well taught lecture series that my university incorporated into our own iOS development class. Hope this helps!
Ok, I've started going through the Fall 2011 course. I'm curious, why doesn't
NSString *digit = sender.currentTitle;
work(it worked in the course video)? All the other dot notation shown in the 2nd lesson, the calculator demo, works. However, for this, XCode only accepts
NSString *digit = [sender currentTitle];
as it thinks sender is an undeclared variable if dot notation is used.
Also, in what sort of cases would putting @synthesize brain; instead of @synthesize brain = _brain; cause a problem?
object.something is just another way of accessing the getter Method of property something, or you can call it direcly with [object something]. If you have a normal function, no property, you need to use [object something];
Second part: In any class using a getter and setter function for brain like -(void) setBrain(Parameter) or -(id) brain, because synthesize generates said getter and setter and so u will get a duplicate error.
Just following up on my post, i found a book, Introduction to Java Programming by Y. Daniel Liang is a great book, pretty big too and covers a lot of java topics, around ~34 chapters
On May 19 2013 22:40 3FFA wrote: I've learned quite a bit about Objective C. and have learned how to make some basic iOS apps. Any good online courses I could take to expand my knowledge of what I can actually do with the iOS?
edit: For example, I have made a basic + - * / calculator, a small war-like card game, and a guessing game app in my High School's programming class. I am hoping to take a class to expand upon this knowledge in the Summer.
No one?
I'd highly recommend CS:193p taught via ItunesU with Paul Hegarty. All of the lectures you can get for free I believe off of Itunes, and it was a really well taught lecture series that my university incorporated into our own iOS development class. Hope this helps!
Ok, I've started going through the Fall 2011 course. I'm curious, why doesn't
NSString *digit = sender.currentTitle;
work(it worked in the course video)? All the other dot notation shown in the 2nd lesson, the calculator demo, works. However, for this, XCode only accepts
NSString *digit = [sender currentTitle];
as it thinks sender is an undeclared variable if dot notation is used.
Also, in what sort of cases would putting @synthesize brain; instead of @synthesize brain = _brain; cause a problem?
object.something is just another way of accessing the getter Method of property something, or you can call it direcly with [object something]. If you have a normal function, no property, you need to use [object something];
Second part: In any class using a getter and setter function for brain like -(void) setBrain(Parameter) or -(id) brain, because synthesize generates said getter and setter and so u will get a duplicate error.
Google builds from head (most teams at least, there are exceptions). Most of that is hidden by the awesomeness of blaze, but the sheer volume of code that is being compiled can add up. (Also, I'm assuming tec means he spends ~hour aggregate over the course of a day, not at one time)
See here for more info:
Actually maybe worth watching just because it's a brilliant piece of software.
On June 23 2013 21:24 bypLy wrote: would you recommend learning php or phyton if you had to choose between the two?
Depends on what you want to do, would be the generic standard answer.
But I am assuming you ask this because you just like to learn a new language. In that case, pick the one that seems most fun. Because 'being fun' is the biggest help in learning something. Perhaps base this on what learning material / tutorials you can find.
Personally I would say python because I am biased against php. But I haven't touched php since version 5 came out, which has seen some important improvements iirc.
Any language learned is extra experience and useful in the long run.
On June 23 2013 21:05 Intgrl wrote: I just wanted to know if focusing on C from the beginning would be a big benefit when I'm most likely going to do my own little projects rather than anything big. Seems like I can do that with just high-level languages but I surely want to check out C sooner or later, just to keep that door open because you never know if things change. Thanks for the answers.
What kind of projects do you want to make? Many high level languages are based on C. For example, C++ is basically an extension to the C language. Indeed, C code will actually compile in a C++ compiler (unless it uses "class" or "template" as a variable or function name, of course XD). Personally I don't see why you shouldn't just skip straight to learning a higher-level language, like C++, C# or Java. The book that I used to teach myself C++ in high school recommended against learning C before learning C++, since C will teach you many practices which are considered bad in C++ (such as using #define to create symbolic constants, which the author referred to as the "old-fashioned, evil, politically-incorrect way of doing it", lol). If, after learning a high-level language, you really want to learn C, it shouldn't be too hard.
Wow, the author of the book is not exactly right. These tools both have merits.
Personally I'm all for learning C as first language. Seriously look at TIOBE - C is still number 1. After that you can go for something objective, of course, and TBH you can skip C++ for something more enterprise friendly - so Java or C#. I'd also recommend learning some functional language on the side: Haskell, Ocaml or F#.
On June 23 2013 20:23 nimdil wrote: However if you work with databases (and I don't mean as in using it for storage dump for program but really working with the data) you can end up having tons of time waiting for the result of the query. Databases rule.
It's unfair that they expect me to work on other things during a 1-2 hour processing call.