|
Here's an opinion:
Fatbuddha 1 wrote: I just think that if you can program C++ than you are quickly able to learn other languages as C# , Java, Perl, Python, Fortran.
This statement is utteryly ridiculous. The concepts of programming languages transfer from one language to the next. It doesn't really matter which language you learn first. The concepts still apply to all of them.
|
|
|
|
|
Thats true, but I think that in C++ you have to be more strict in the way you are implementing stuff.
But that is my opinion. Also the main point of my statement was not just the learning of concepts, also if you are implementing on any of those language that I mentioned you will recognize that they are familiar to C++. Such that you can adopt things more easier. And as I was saying above I don't think that C++ is the best language or something like that. I just learned programming on Pascal and then got to C++. Which I think is not good, because the guy who started this post wants to learn a language where you can do certain things. And with Pascal it is most of the time a pain, in my opinion.
So I think you got me kind of wrong, because I referred not just to the concepts, also the the easy going part if you switch to other languages, because the syntax is quiet familiar. But if you compare, lets say Java with C#, which are modern languages, that the diffrent is bigger. than C++ vs Jave or C++ vs C#.
If you have an other opinion please let me know.
Cheers
You have the thought that modern physics just relay on assumptions, that somehow depends on a smile of a cat, which isn’t there.( Albert Einstein)
|
|
|
|
|
Fatbuddha 1 wrote: but I think that in C++ you have to be more strict in the way you are implementing stuff.
Utter crap. This is true in ANY language if you're writing "proper" code, not just C++. The concepts you must learn really have nothing to do with the languages themselves. The syntax you use to use and describe concepts is irrelevant to learning the concepts.
As for me, I think C++ was the 6th language I taught myself, after about 10 flavors of Basic, Pascal, TMS9900 Assembler, Intel x86 Assembler, COBOL, C, THEN C++, ...
|
|
|
|
|
I am not saying that because of the concepts it is the best way of beginning to learn C++. What I am saying is that I think it is a good language to start with because
1) The syntax of the most popular ones are quiet similar to C++
2) The language or that way you have to program in it is quiet strict and you have to be aware of more features or "traps" than in other languages.
3) You run over C++ code all of the time, such that I think it is good if you know how do deal with!
So I hope I pointed out what I am thinking, because I think we are talking of two different points.
Also I have to say I might not be so long in this stuff, but I came through Pascal, Fortran, C, C++, Perl, Phyton, Java, C# and from those I know that C++ is probably the best language if you are learning a language.
just to give you an example. Once I had an exercise where I have to program certain patterns. In C++ you will really learn some stuff out of that. In java or in C# some of those are already in. So you might think that this is good, so that I don't have to program it again, but I think it is not. Because you learn so much out of it!
So thats my side of view.
I don't know what you want me to say out of that:
"As for me, I think C++ was the 6th language I taught myself, after about 10 flavors of Basic, Pascal, TMS9900 Assembler, Intel x86 Assembler, COBOL, C, THEN C++, ."
I am guess you are a long term in programming, aren't you. And the original question was of what language to start with, such that this sentence doesn't make any sense.
Be it as it may, I think that Assembler is dead for now.
There are nearly no Companies dealing with Pascal any more,also I was introduced by it as a learning language.
I heard from COBOL, but I don't know it. Such that I thing you gain the most if you are starting with C++.
That's my point of view, and please refer to this massage, not as :crap, but you might be able to give me your side of thinking, such that, we can have a proper discussion out of it. Which I think would be nice, because I might be able to learn something new.
I hope I made my point.
Cheers
-- modified at 3:44 Friday 23rd November, 2007
You have the thought that modern physics just relay on assumptions, that somehow depends on a smile of a cat, which isn’t there.( Albert Einstein)
|
|
|
|
|
Fatbuddha 1 wrote: And the original question was of what language to start with
Then start with a language that is easy to learn the main concepts. Pointer indirection is not a concept present in many modern languages, but you need to know it to use C++ effectively.
The main concepts are:
Methods
variables
Operators (e.g. +, -, /, *, %)
Flow control (e.g. if/else)
Looping (e.g. for, foreach, while)
Classes
inheritance/polymorphism/abstraction/encapsulation
Fatbuddha 1 wrote: Once I had an exercise where I have to program certain patterns. In C++ you will really learn some stuff out of that. In java or in C# some of those are already in.
Then learn different patterns. It is great that some language have certain patterns built in. By your logic we should learn assembly because the loop pattern isn't built in. You have to use conditional jump instructions, hand craft your own counters and so on to do the same thing. All C# is doing is continuing the trend. And other languages will come up in the future and continue to refine things further.
Upcoming FREE developer events:
* Developer! Developer! Developer! 6
* Developer Day Scotland
My website
|
|
|
|
|
Hi sorry for the late replay.
I have to say good point and true!!
You may be aware of that you go to much in extreme I think woth your last sentences, but ok.
Let me say it like that:
I started with pascal, where I learned the basics of programing and that stuff, afterwards we switched to C,C++, where I learned a lot in topics like memory leaks, patterns, pointers vs. references. Hardware near programming, stuff like that. Also I really got in the algorithmic thinking, or how ever you want to call this. Then we learned Java and last but not least C#. A also did some projects in Java and C#, not that you think I might be fresh from school
After looking back I think I gain the most experience in C++. Because there I really get to know what differences it makes if you do it in different ways. Also I have to say that it isn't the easierst language, it can be sometimes quiet anoying for sure! but after all, you really have to take care of every little bit and thats what I liked in terms of learning. I mean if you go for C#, just to program a little you have to know more or less about object oriented programming. Also true for java I think, also with java you wont get help in this forum, because I think the last entry is from last year or so .
So if we look in respect of this forum there are mostly two languages suported, C++ and C#, true?
Such that I think for a web developer it doesn´t make sence to go for C# because the risk is high that he stays in web Abbs and don't be force to programm general algorithms. For example a sorted dictonary in C, is for example a nice App do do , if you start.
Some of this sort, because I think there you gain a lot and you can play a lot of algorithmic thinking. I hope you know what I mean.
In C#, it is easy to "cheat", because you have the class already in. So when he plays with lists and double linked lists, trees and concepts of that and how they can be used efficiently, than he can quickly build up something where he has all the features of what you where talking and he is kind of forced to use them correctly.
And by the way, I don´t know if i missed it or not. But what would be you suggestion according to starter language?
Cheers
You have the thought that modern physics just relay on assumptions, that somehow depends on a smile of a cat, which isn’t there.( Albert Einstein)
|
|
|
|
|
|
Hi All:
I'm just starting out in my software development career (making a lateral move from systems analyst to developer) and I was wondering if anyone has compiled a cheat sheet of the most common tech interview questions that can be asked. I know two already: "What is the difference between polymorphism and overloading?" and "What is the difference between a value type and a reference type?". And I know there are a HOST of others (I've looked at a number of tech interview sites), but what are the ones that you've found come up over and over again?
Dre---
=======================
Every experience in life is a lesson to be learned
A. Stevens
B.S., Computer Science
|
|
|
|
|
I don't keep a list of question they ask me. I keep a list of questions I ask them.
|
|
|
|
|
1 Do you use source control?
1a Is your SC system something other than VSS?
--
If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.
|
|
|
|
|
And if it is VSS, is it backed up every 2 hours?? Why not??
|
|
|
|
|
Dave Kreskowiak wrote: And if it is VSS, is it backed up every 2 hours?? Why not??
I thought the if vss used branch was to either ask to leave, or start asking mess with them type questions for your personal amusement.
--
If you view money as inherently evil, I view it as my duty to assist in making you more virtuous.
|
|
|
|
|
Oh, sorry, this part of the questionaire IS for personal amusement!
|
|
|
|
|
Dave Kreskowiak wrote: I don't keep a list of question they ask me. I keep a list of questions I ask them.
Good, wise one
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Having a list of answers memorized is a complete waste of time. Memorised answers don't give you the depth or breadth of knowledge that you need to pass an interview. The problem is, as soon as you are probed in any depth, glaring omissions become apparent. You really need to know the subject, and be confident in it. That way you aren't going to get any nasty surprises when somebody asks you "if I want to do A, what should I be considering?"
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Pete O`Hanlon wrote: Having a list of answers memorized is a complete waste of time.
True. It just makes you a book-worm kind of; to 'mug up' and 'vomit' the contents.
Pete O`Hanlon wrote: You really need to know the subject, and be confident in it.
Definitely true. You get a '5' vote for that.
|
|
|
|
|
|
DRAYKKO wrote: I was wondering if anyone has compiled a cheat sheet of the most common tech interview questions that can be asked
Don't cheat. Any technically competent interviewer will realise it and if they don't they'll figure it out once they hire you and you don't want to get fired from a job - it doesn't look good.
DRAYKKO wrote: And I know there are a HOST of others (I've looked at a number of tech interview sites), but what are the ones that you've found come up over and over again?
The ones that come up over and over again are the subjects in my CV.
A good interviewer will ask questions that require you to ANALYSE something. The majority of the job of a developer is analysis. If you can't do that then you shouldn't be doing the job. You cannot create a cheat sheet for analysis questions.
|
|
|
|
|
Hi
I've a masters degree in computer application.I would like to become a database administrator. What should I learn?
and what is the current job market
please advice me
Thanks & Regards
BMP
|
|
|
|
|
BMP1980 wrote: What should I learn?
Databases? I'm not sure what you mean by your question.
BMP1980 wrote: what is the current job market
Depends where you are in the world. There is a shortage of good DBAs in Scotland at the moment according to the people I met at my local SQL Server UG earlier this evening. That means companies are paying lots of money to DBAs.
|
|
|
|
|
There are some certificates according to databases.
If the question is what system you should learn?
Then I think there are two solutions:
Either go for a oracle DB which is a create one! But it costs! So it is just in use from some companies, who have two much money
Or you should have a try on the MySql. It is free and well documented. It is not as good as the oracle but normally it is more than ok.
Cheers
You have the thought that modern physics just relay on assumptions, that somehow depends on a smile of a cat, which isn’t there.( Albert Einstein)
|
|
|
|
|
Fatbuddha 1 wrote: There are some certificates according to databases.
If the question is what system you should learn?
Then I think there are two solutions:
Either go for a oracle DB which is a create one! But it costs! So it is just in use from some companies, who have two much money
Or you should have a try on the MySql. It is free and well documented. It is not as good as the oracle but normally it is more than ok.
I disagree.
SQL Server has recently overtaken Oracle for enterprise database systems. It would therefore seem to be prudent to learn the system that is gaining ground and needs more DBAs than the system that is losing ground.
SQL Server also comes in many flavours. SQL Server Express is free. It is well documented and there are several user groups where support from ones peers is available. If you want to learn the enterprise level features then the Developer Edition costs just $49 which is identical to the Enterprise edition but for two things. First it can also run on Windows XP or Vista (Enterprise Edition cannot) and second the licence only permits use for development and testing. Naturally, when putting those skills to use in a comercial environment the final deployed solution would be on a full license.
Finally, the OP asked the question on a Microsoft centric website. That suggests that the OP is self-selecting a choice to just what Microsoft offer. That is Access or the plethora of SQL Server Editions.
|
|
|
|
|
I've just been employed (about three months ago) by a large corp, as a .NET senior dev, after working my way through a few standard dev jobs over the last few years. They are interviewing a couple of contractors next week to come in and supplement the team here. My department head just came down to my desk, and told me all this (which I had heard on the grapevine) and all of a sudden asked me to sit in on the interviews next week to query these guys on their technical knowledge of .NET. As this is the first time I've been involved in the interview process from this end, I was wondering if any of you old hands out there on CP have some standard tacks you would take on this? I have the weekend to think about it and come up with a gameplan.
Off the top of my head I'm thinking;
a) Quiz them on their understanding of the concepts of OO, and their general development methodology. Soften them up with some "concept" questions, to get a feel for how they think about the development process and how well developed their personal standards are. Perhaps some simple written tests on an algorithmic basis, using Java/C# as the syntactic base, to test their general debugging abilities.
b) Explore their knowledge of the namespaces in .NET, and their familiarity with the platform in general. Here, I'm wondering what to focus on - which areas would you consider vital to be expert in, and which might catch out an indifferent dev?
c) A couple of very specific questions to explore their knowledge of threading, web services, and SQL.
Does this sound over-the-top, or on the other hand too "vanilla"?
And also, just on the subject of coming up with specific allgorithmic tests, does anyone know of any resources on the Net which would contain some samples I could use or adapt? Or if anyone has specific tests they favour of their own, I'd welcome the input...
All the dude ever wanted... was his rug back.
|
|
|
|
|
melchizidech wrote: As this is the first time I've been involved in the interview process from this end, I was wondering if any of you old hands out there on CP have some standard tacks you would take on this?
What we do[^] - From my blog.
The important thing is to discuss their CV. Don't go in with a standard set of questions that must all match up. If they don't have exactly what you are looking for they'll be able to pick it up fairly quickly if they have the basics all sorted out.
melchizidech wrote: Quiz them on their understanding of the concepts of OO, and their general development methodology
Excellent idea.
melchizidech wrote: Explore their knowledge of the namespaces in .NET, and their familiarity with the platform in general. Here, I'm wondering what to focus on - which areas would you consider vital to be expert in, and which might catch out an indifferent dev?
Just cover the basics here + what ever is on their CV. If they know ASP.NET really well then you start asking them lots about Windows Forms developement just isn't going give good results.
In other words. Things along the lines of how string works (e.g. it is immutable) and when to use StringBuilder.
melchizidech wrote: A couple of very specific questions to explore their knowledge of threading, web services, and SQL
If this is relevant then go for it. If it is a MUST HAVE requirement of the job because they are doing highly multi-threaded database backed web services then absolutely.
I was once in an interview where I was invited in and they asked me a load of questions about stuff that wasn't on my CV. e.g. Have you worked with X? And I just had to answer no to all these questions. They then terminated the interview. I'm still wondering why they invited me to interview. It doesn't give me a very good impression of their company.
|
|
|
|
|
Greetings! I am sure many of you will read this and sigh, because this is the same question that I have seen a dozen times on here. I am going to approach this in a hopefully different way, so my simple question may be a bit longer than usual, but the core of it is "what do I do from here"?
I have been on and off reading/lab programming for a while now (boardering on a year). It wasn't until a few months ago that I became a lot more serious about my intent to participate. I've started tackling the OOP understanding barrier, studying and testing ideas pretty much every night of the week. I have a non-tech degree (management) and I am a little older than the average programmer new to the field (30). I feel like my knowledge is progressing well, but I am still not quite ready yet. My language of choice is C# based on the recommendation of a good friend who is a senior programmer and a named company (I know the community is tightly tied together, so I would rather not say where). Needless to say, my best freind has become my mentor. We work on my code and dress it up so that I understand how my code can be better prepared. I feel like I will still need a year to learn up to a comprable level at the casual study rate. However, now that I am seeing a sort of path, I have found that I am programming more and more, and willingly stepping outside of the boundaries of what I know to see if I can just build random items.
Here is what I know at the moment:
Basic class structures, loops, arrays, and I am working on base classes in C#. This gives me the ability (tied with the VS developer) to create very simple but functional programs. I will begin to work on SQL and ADO shortly (probably another month). However, I want to really start stepping up. I think that I want to go into applications development based on the following facts: web development has a home in PHP and Javascript as well, and I am not really ready for that sort of versatility just yet. I realized that I need to keep focused on the .Net group of languages for a while. In order, I intend to expand my C# development skills much further and this is my primary goal, following with SQL(T-SQL), ADO, and then ASP in their respective .Net form. So basically I am a semi-functional beginner.
But here is where I was hoping that some people could give me ideas, part of the challenge that I have discovered is that as a beginning programmer I am now stuck in a middle place. I am a little more advanced than the basic stuff like loops, so the beginning classes are not good for me, and the advanced classes are still just out of my range. I want to get out there and code! Play QA or something to get some real time in and start developing.
From what I understand most of the people that graduate college have little more than a theoretical understanding of programming concepts, although I am sure there are many of you out there that popped out of the womb as pros, so please don't take that as an insult. I'm a very rapid learner, and don't have to ask twice. If any of you have any sources where I can start to develop additional applications, I would appreciate it. My ideas are simply not complex enough to challenge me anymore (you can't create something greater than yourself, is the way it was told to me), and honestly my friend has better things to do with his life than always answer my questions or design more stuff for me to do.
I have heard a few suggestions about elance and things like that, but when I search there, they want pros like you guys (as I would too), and they are not really there except to get a job done (the point of outsourcing).
So again, any thoughts that you have for me, good or bad, are accepted and appreciated. I just want to get out there and get a job in the end, and at this point the only way to do that is to churn out more code.
Thanks again for your help
Beginning Programmer - Still learning as much as possible.
|
|
|
|
|