|
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 February 02 2013 23:28 MisterD wrote:Show nested quote +On February 02 2013 18:55 phar wrote:On February 02 2013 17:01 AmericanUmlaut wrote:but my impression is that everyone is in love with whichever one they have the most experience with. At my first pass I read that as "loathe whichever one they have the most experience with", but maybe that's just because I use Eclipse and it apparently can't stop from freezing every other god damn minute with 24G RAM and 8 cores. you are aware that eclipse, as a java application, runs in a VM with a fixed upper memory limit which by default is at 384mb? It doesn't care at all how much ram you have if you don't allow it to use it. edit your eclipse.ini if you want to use more! I'm fairly certain phar is using a custom eclipse ini, just the codebase he works on is very, very large.
|
Yea after upping it to 8G and trying a bunch of different shit, I just decided fuck it and came up with a list of things to try to avoid. Never building in eclipse, debug only after building externally first, never F3 too far down the stack, only autocomplete if you're 100% certain that there's only like ~50 possible targets instead of a gazillion, never use eclipse refactoring on non-private thingies, etc etc.
|
On February 02 2013 16:49 beamer159 wrote: What software do most companies use to write and test code? I ask because I started learning programming in school with Visual Basic, and then progressed to Visual C++. Then, for Java, I used Netbeans. After a couple years, all my classes switched over to using Linux with Vim and such. Now, in my upcoming class, I will probably be using Eclipse. Is there an industry standard for programming? I'm primarily interested in C++ programming, and I'm aware that on Windows, the go-to software package is VS. So I actually have 2 questions: Is Windows or Linux the dominant OS in the programming industry, and in terms of Linux, what is most-used C++ development tool in the industry? I suppose it varies quite a bit.
We use a good mix of C/C++/Java/VB.NET between different projects. We also have a lot of PL/SQL-based backend stuff. We often have simple .NET front-ends to help facilitate running all of our PL/SQL items, which is especially useful for integration testing.
|
Can anybody link me a good tutorial to learn binary search trees in data structures using C...I missed like a week of lectures and now i cannot wrap my head around it
|
|
|
That's actually useful as I'm starting Data structures in llike 3 weeks.
|
I got stuck on the Code.. Thank a bunch for the link tho
|
Hi all, so I have another carrer-advice problem: from tester to programmer 
I am currently working part-time in big open source company as a tester, while I am about to finish my Masters degree in IT security. As everybody in this thread, I had C and Java classes at school, which I found pretty useless and realised how little they mean in reality. Even though I was taught all the important C stuff, when I look at source code of product that I test, I know this kind of programming is far down the road.
I have done some agile programming in two, we did some plugins in Java for internal testing tools. It was a good experience, but really the first one for me as programmer. I do some programming in Ruby for my Masters thesis, but since it`s just my project, I lack feedback and I feel it`s more like a playground in programming, rather than learning and improving.
To sum it up, I am writing bash scripts for testing all day and troubleshoot nasty things in Linux environment, did some Ruby and Java programming and I am quite good at Unix/Linux. From this thread I understand this is not a good basis for any programmer 
So my three questions: How can I transition from tester to programmer ? What language should I learn and practice (first) ? I want to become a (at least decent) programmer and understand the code, before I start pursuing carrer in security. Is this a way to go?
Thanks for all the tips ! 
Btw. currently I lean towards learning Haskell - way too sexy language and has so many things to learn that would benefit me. Just not sure if this is of any use in security
|
I've had a full class on functional programming with focus on haskell. To be honest I still don't see what the whole buzz is about. I can't see real use to it other than playing around and building some prototypes.
|
On February 03 2013 20:58 SevenShots wrote: I've had a full class on functional programming with focus on haskell. To be honest I still don't see what the whole buzz is about. I can't see real use to it other than playing around and building some prototypes.
At my university, they though the best politics would be to teach C and Haskell at the first semester. Half of the students passed Haskell, and even though I did, I didn`t like it at all . I got proper theoretical backgroung and I appreciated theoretical aspects of Haskell, and still I didn`t see any usefullness in it. Only after I started working and saw another team with testing framework based on functional language (and they are testing web-app frontend ), and after I realised how many bugs I generate thanks to side-effects when programming, only then I started to appreciate Haskell
|
Well, in my opinion not generating side-effects is simply a matter of good coding-style. 
I don't know a lot about professional testing and it sure can be that functional programming is of great use there. But in real systems/environments i think it is just way to bad performance wise.
I personally think that C is a pain in the ass, but you probably just can't get around it if you really want to start a career in programming. Also I think it's not really a matter about what language you learn first. I think one should choose a reasonable language (probably Java/C/C++) and work with it, especially in a (small) project. Once you are reasonably good at one language learning another one becomes way easier.
€: At my university we also had haskell in the first semester. I think haskell is really awesome for understanding concepts like recursive functions and a lot of other things. Just not for real projects.
|
On February 03 2013 20:58 SevenShots wrote: I've had a full class on functional programming with focus on haskell. To be honest I still don't see what the whole buzz is about. I can't see real use to it other than playing around and building some prototypes.
If you only have learned the basics of Haskell it is quite obviuous that it is hard to see how it can be used for implementation of larger projects, the same could be said for any programming language. The problem is that people look at the basics of the language and then they conclude that the language can not be used in "real" applications. There are areas that Haskell excels in, for example mathematical computations, AI, domain specific languages etc. Programming is all about choosing the right tool for solving a problem, and OOP is not always that tool.
Here is a link with example of how Haskell is used in the industry: link
|
On February 03 2013 21:22 YiSunsin wrote:Show nested quote +On February 03 2013 20:58 SevenShots wrote: I've had a full class on functional programming with focus on haskell. To be honest I still don't see what the whole buzz is about. I can't see real use to it other than playing around and building some prototypes. At my university, they though the best politics would be to teach C and Haskell at the first semester. Half of the students passed Haskell, and even though I did, I didn`t like it at all . I got proper theoretical backgroung and I appreciated theoretical aspects of Haskell, and still I didn`t see any usefullness in it. Only after I started working and saw another team with testing framework based on functional language (and they are testing web-app frontend  ), and after I realised how many bugs I generate thanks to side-effects when programming, only then I started to appreciate Haskell 
Yup. It's not necessarily the fact that you'll use Haskell day-to-day (although there are places where you can do that). You should have learned that:
(1) Effects impede reasoning about programs, yet are necessary to write real-world applications (albeit much less so than you probably first imagined). (2) Compositionality leads to elegant, concise code. (3) A strong typing combined with the above allows you to reason and make guarantees about your programs in ways that you are not able to in traditional programming languages.
Those three key concepts should bleed over into anything else that you write, irrespective of the language involved.
|
On February 03 2013 21:45 SevenShots wrote:Well, in my opinion not generating side-effects is simply a matter of good coding-style.  I don't know a lot about professional testing and it sure can be that functional programming is of great use there. But in real systems/environments i think it is just way to bad performance wise. I personally think that C is a pain in the ass, but you probably just can't get around it if you really want to start a career in programming. Also I think it's not really a matter about what language you learn first. I think one should choose a reasonable language (probably Java/C/C++) and work with it, especially in a (small) project. Once you are reasonably good at one language learning another one becomes way easier. €: At my university we also had haskell in the first semester. I think haskell is really awesome for understanding concepts like recursive functions and a lot of other things. Just not for real projects.  Coding style can help, but in big projects they are unavoidable in the end. And functional programming can help to lower the number of them.
As for functional programming in general it can be used for real projects, but it is not suitable for all of them. But paradigms of functional programming are starting to be brought into languages like C# and D and are extremely useful there. Functionally pure functions are for example thread safe (I am ignoring some issues) and you can be absolutely sure about that. Whereas without that no coding style will make it so and you will have to do proper analysis to prove that.
EDIT: Kambing said that much better and more generalized
|
How can I make a two dimensional array in C++ where you write both values? It's not like this. int todim[5][5]; {10, 20, 30, 40, 50}{1, 2, 3, 4, 1};
|
On February 04 2013 01:37 Arnstein wrote: How can I make a two dimensional array in C++ where you write both values? It's not like this. int todim[5][5]; {10, 20, 30, 40, 50}{1, 2, 3, 4, 1};
Arrays-of-arrays initializer syntax:
int todim[5][5] = { { 10, 20, 30, 40, 50 }, { 1 , 2 , 3 , 4 , 1 } };
|
Thank you very much 
Also, isn't xretning the horisontal print here, and yretning the vertical?
for (int xretning = 0; xretning < 5; xretning++) { for (int yretning = 0; yretning < 7; yretning++) { cout << tabell[xretning][yretning] << " "; } cout << endl; }
For me it prints 7 numbers horisontally, and 5 numbers vertically.
|
On February 04 2013 01:56 Arnstein wrote:Thank you very much  Also, isn't xretning the horisontal print here, and yretning the vertical? for (int xretning = 0; xretning < 5; xretning++) { for (int yretning = 0; yretning < 7; yretning++) { cout << tabell[xretning][yretning] << " "; } cout << endl; }
For me it prints 7 numbers horisontally, and 5 numbers vertically.
From what you said alone I'd say, no, your logic is reversed. =)
To see that, trace through the code line by line on paper and see what the execution yields.
|
On February 04 2013 01:56 Arnstein wrote:Thank you very much  Also, isn't xretning the horisontal print here, and yretning the vertical? for (int xretning = 0; xretning < 5; xretning++) { for (int yretning = 0; yretning < 7; yretning++) { cout << tabell[xretning][yretning] << " "; } cout << endl; }
For me it prints 7 numbers horisontally, and 5 numbers vertically.
If your put it in english, your code will execute 5 time a loop that will print 7 values followed by an end line.
so : 7 columns, 5 rows
|
For some reason I can't get my head around this. I visualize it like first you get xretning[0], and then you make yretning from 0 6, then you get xretning[1] and get the vertical yretning from 0-6. Is there a visualiser for C++ much like pythontutor.com?
|
|
|
|
|
|