Si as a "first" language

Suddenly realizing that in the third year Polytechnic IT profession I really don't know how to program, and you want to, I started to rush. Programming want of course iOS has the necessary tools in the form of Mac and IPhone with IPad for the test, but not the main thing – necessary knowledge in the head. Know something, somewhere heard, but mostly a mess. The book "Become an Xcoder" I read, of course nothing complicated there. The next step chose "classics" by Dennis Ritchie and Brian Kernighan "the C programming Language". I did the right thing? Thank you.
October 8th 19 at 02:46
9 answers
October 8th 19 at 02:48
Lead with objective-C, with real applications. There's nothing worse than a lack of interest, even when it itches, to keep this feeling for a long time will not work, but a live draft would be a great motivator.
Language is just a way of implementing certain tasks, if your goal is iOS is just silly to start with C. I personally don't see any "pros". And deep matter With you anyway so did not immediately know, everything will come with experience.

From the literature advises — Fowler "Refactoring. Improving existing code." — help to write code more correctly and to speed up the process "understanding of the Supreme mother"
PS Your goal is programming, not language learning. It's like driving — what sense to learn on a box-machine, if after the training you will have to drive on a manual transmission? (or Vice versa) - olen48 commented on October 8th 19 at 02:51
Your Board more attractive from the point of view of saving time. Another thing is that very often (for example – courses Stanford CS193P) in the tutorials for Obj-C is assumed knowledge of C.
The book "Programmable for iPhone and iPad" from the Head First O'reilly would be suitable for my case? - addison97 commented on October 8th 19 at 02:54
. Another thing is that very often (for example – courses Stanford CS193P) in the tutorials for Obj-C is assumed knowledge of C.

It also assumes that there is no experience (returning to the analogy with driving is how to change from automobile to truck, for example).

Just start and all. Language is not important, important platform and Prodigy. C is a procedural language, obj-c is object-oriented. And this is one of the main arguments against the choice of si as the first. The second platform. Practicing immediately for iOS — you gradually get acquainted with the API devices and don't study you don't need software interfaces desktop.
Literature is not important — suitable Luba describing in a suitable manner, the API and the basics of the language. The rest is easy to find online. - olen48 commented on October 8th 19 at 02:57
October 8th 19 at 02:50
My advice is to start in that order, his career as a programmer:

1) Plaksin.M "Testimoniesfrom". Start poking around with existing programs as a basis we can take calc.exe or anything else. The ability to test gives the possibility of ruthless operation with its own code for which you will have to answer to their colleagues. This is a very useful skill, even a minimal amount, but the programmer should be able to test!

2) the Language among computer languages now occupies the same role as the English among the human. Knowing you it will be easier to understand others!

3) Never do anything that You personally somehow not interested. Any project, any task, any action should be interesting not only put you, but You personally!

4) Algorithms, without them anywhere! The more you know them and be able to apply in practice and to assess the complexity, the better!

5) Patterns, it makes sense when you have at least some programming experience. At least 20 programs to write, then will understand immediately that, in practice, you meet, and what is not. Will clearly understand what exactly one or another pattern can help you.

6) Be pragmatic! Every action has to lead to some kind of informed Your objectives.

7) Read "the Mythical man-month" by Brooks. What is contained in the book need to understand in order to know what specific tasks you should perform, and what not! The ability to fix the head properly and correctly, and convincingly gives You the opportunity to do more in a software project and therefore will give You an advantage over colleagues.
Forgot to say what's better or worse! ;) Every programmer may answer differently! It's easy for someone to understand one book, and another on the other and therefore the views can be very different! Surrounded by 2 or 3 books and then the content of most any book You start to study, if the scene described in the book will not be understandable, looking for the same term\technique to another and try to understand already expressed this but in other words.

Everyone has their own way! Every programmer learns in different ways. But every programmer will tell you "the sooner You'll love and learn how to debug programs, the faster You will become a programmer". - olen48 commented on October 8th 19 at 02:53
October 8th 19 at 02:52
In my opinion, very correct. Net From very close to the instrument CPU, and learning this language will help to put the brains of the programmer, if he wants to develop high-performance programs using all the resources of the computer. In addition, programming in Objective C without knowledge is impossible, except for simple applications that can and HTML shivnath.
Thank you! I went, in General, in the book (smiley). - olen48 commented on October 8th 19 at 02:55
October 8th 19 at 02:54
If you want to learn and fundamentally understand that the desired result will not be right away — yeah, right. As well as this list: habrahabr.ru/blogs/development/135897/
Excellent post, that's exactly where I got this book. Be sure to read it. - olen48 commented on October 8th 19 at 02:57
October 8th 19 at 02:56
Write for iOS in objective c, it's more...
I am aware of. But recommend first C to study how the "basis". - olen48 commented on October 8th 19 at 02:59
Now it seems to be the where to start. Many started with Pascal and no one complained... and you a case study (Pascal)? - addison97 commented on October 8th 19 at 03:02
Pascal of course grade from the seventh to the ninth. Humanitarian gymnasium I had. And then, when distributed according to profiles in which taught more serious stuff, I went to a regular school, where the Informatics were talking about input devices and tools in Paint. - olen48 commented on October 8th 19 at 03:05
But what about the basic? We started with q-basic. - misty_Koepp commented on October 8th 19 at 03:08
But what about the basic on the spectrum? And the instructions for MK-54? - addison97 commented on October 8th 19 at 03:11
October 8th 19 at 02:58
Clearly right. Especially because the book itself is very good, readable and easily digested, and it is quite small.
October 8th 19 at 03:00
The algorithms are the same everywhere, all C style languages are almost identical. java, c#, php, etc, I have not studied these languages, but I know Pascal, C, qbasic. Enough to run fast book language and I can fix any bug in the code which is run. All of these languages mainly differ in model frameworks and development environments. Read a book on objectiv-c and start programming. To read in this case it is useful, but the sense makes no sense.
October 8th 19 at 03:02
K&R C and Donald Knuth :)
October 8th 19 at 03:04
C is a good language with great popularity, can serve as a starting point for further study of such languages as C++ and Java. If you're going to become a programmer, one way or another you have to get acquainted with other languages. Learning other languages will help you strengthen "programmer thinking", so to speak, while these languages can never be useful. So, knowledge of the C language most likely you will not be useful when you write programs for iOS, but can be useful knowledge obtained by reading books and learning the language.
How can a knowledge of C. it is NOT useful if Objective-C is a superset of the C language? If you just copy-paste pieces of code from Internet, but this is not the programming, sorry. - olen48 commented on October 8th 19 at 03:07
In my opinion this is extreme. It is clear that SI, as a classical language and a vast store of knowledge will be useful everywhere and always, but to master it need to in the main purpose. You can not absolutely to renounce the C — one way or another will have with him or with the related information to deal, but to the absurd arguments also should not be. - addison97 commented on October 8th 19 at 03:10
My apologies, I did not know that Objective-C is fully compatible with si. In this case, it will definitely be a good starting point for further study of Objective-C. - olen48 commented on October 8th 19 at 03:13

Find more questions by tags CProgramming