პროგრამისტი გახდება კუმულატიური პროცესი, რომელიც ავითარებს თქვენს უნარებს დღითი დღე და წლიდან წლამდე, ხოლო პროგრამირება შეიძლება იყოს სახალისო და მომგებიანი (გონებრივად, სულიერად და ფინანსურად). ეს სახელმძღვანელო არ გპირდებათ ჯადოსნურად მარტივ გზას, რომ გახდეთ პროგრამისტი და ნაბიჯების თანმიმდევრობა არ არის წმინდა, მაგრამ თქვენ მიიღებთ ზოგად მონახაზს, თუ როგორ გახდეთ პროგრამისტი პროგრამირების ერთ – ერთ თანამედროვე სფეროში.
ნაბიჯები
ნაბიჯი 1. გაიარეთ შესავალი კურსი შემდეგი დისციპლინების ერთ (ან ყველა მათგანში):
- Ლოგიკა
- დისკრეტული მათემატიკა
- პროგრამირების ენა (მიიღეთ მონაწილეობა პროგრამირების სხვადასხვა პარადიგმებში, დაწყებული თანმიმდევრული/პროცედურულიდან ობიექტზე ორიენტირებული, ფუნქციური და ლოგიკური პროგრამირების შემდეგ. დამწყებთათვის სასურველი Ruby/Python/Pascal და კარგი გაგების შემდეგ უფრო ღრმად C ++/C#/Java)
ექსპერიმენტის რჩევა
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
ჯინ ლინეცკი, MS
სტარტაპის დამფუძნებელი და საინჟინრო დირექტორი < /p>
არ იგრძნოთ, რომ თქვენ უნდა მიიღოთ კოდირების ხარისხი.
მიუხედავად იმისა, რომ პროგრამირების ენაზე კურსების გავლა შეიძლება სასარგებლო იყოს, ჯინ ლინეცკი, პროგრამული უზრუნველყოფის ინჟინერი და დამწყები დამფუძნებელი, ამბობს:"
ნაბიჯი 2. ისწავლეთ მონაცემთა ბაზის ცნებები, როგორიცაა ცხრილი, ხედები/შეკითხვები და პროცედურები
ამისათვის შეგიძლიათ გამოიყენოთ მონაცემთა ბაზის ნებისმიერი მარტივი პაკეტი, როგორიცაა:
- MS Access
- DB V
- Fox Pro
- პარადოქსი
- MySQL არის კარგი მონაცემთა ბაზა სასწავლად, რადგან ის უფასოა, ხშირად გამოიყენება და მონაცემთა ბაზები საყოველთაოდ არის ხელმისაწვდომი SQL მოთხოვნებით
ნაბიჯი 3. გადაწყვიტეთ რა ტიპის პროგრამისტი გსურთ იყოთ
პროგრამისტები ზოგადად მიეკუთვნებიან ერთ -ერთ შემდეგ კატეგორიას:
- ვებ პროგრამისტი
-
დესკტოპის პროგრამისტი
- ოპერაციულ სისტემაზე (OS) ორიენტირებული პროგრამისტი (მიბმული ერთ ოპერაციულ სისტემაზე ან ოპერაციული სისტემის კომპლექტზე)
- პლატფორმისგან დამოუკიდებელი პროგრამისტი
- განაწილებული პროგრამების პროგრამისტი
- ბიბლიოთეკა/პლატფორმა/ჩარჩო/ძირითადი პროგრამისტი
-
სისტემის პროგრამისტი
- ბირთვის პროგრამისტი
- მძღოლი პროგრამისტი
- შემდგენელი პროგრამისტი
- პროგრამირების მეცნიერი
ნაბიჯი 4. ისწავლეთ ტექნოლოგიები და პროგრამირების ენები, რომლებიც დაკავშირებულია თქვენს მიერ არჩეულ პროგრამირების სფეროსთან
მომდევნო სექციები გაანალიზებს სხვადასხვა ტიპის პროგრამირების ამოცანებს.
მეთოდი 1 -დან 6 -დან: ვებ პროგრამირება
ნაბიჯი 1. იცოდეთ რას გულისხმობს ვებ პროგრამირება
ვებ პროგრამები არის პროგრამული კომპონენტები, რომლებიც შექმნილია ინტერნეტ არქიტექტურის თავზე მუშაობისთვის. ეს ნიშნავს, რომ პროგრამებზე წვდომა შესაძლებელია ბრაუზერის პროგრამული უზრუნველყოფის საშუალებით, როგორიცაა Firefox ან Internet Explorer. ინტერნეტის არქიტექტურის თავზე აგება სულაც არ მოითხოვს აქტიურ კავშირს ინტერნეტთან. ეს ნიშნავს, რომ ვებ პროგრამები აგებულია სტანდარტული ვებ ტექნოლოგიების საფუძველზე, როგორიცაა:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP პროტოკოლები
- HTML
- XML
- Coldfusion
- ASP
- JSP
- PHP
- ASP. NET
ნაბიჯი 2. დაათვალიერეთ მრავალი მრავალფეროვანი ვებსაიტი, რომ გაეცნოთ როგორ გამოიყურებიან ისინი ჩვეულებრივ
(დააწკაპუნეთ მარჯვენა ღილაკით, შემდეგ დააწკაპუნეთ წყაროს ნახვაზე ან დააჭირეთ F12.) მოძებნეთ მრავალფეროვნება ვებსაიტის ტიპში/შინაარსში და არა მონახულებული ვებსაიტების რაოდენობაში. საერთოდ, თქვენ მოგიწევთ ეწვიოთ ქვემოთ ჩამოთვლილი თითოეული ტიპის ვებგვერდიდან მინიმუმ ერთს:
- კორპორატიული ყოფნის ადგილები (კომერციული კორპორაციები, არაკომერციული კორპორაციები/ორგანიზაციები, სამთავრობო ორგანიზაციები)
- ვებ ინდექსირების ძრავები (საძიებო სისტემები, მეტა საძიებო საიტები, სპეციალიზებული საძიებო სისტემები, დირექტორიები)
- მონაცემთა მოპოვების საიტები
- პირადი საიტები
- საინფორმაციო/ენციკლოპედიური გვერდები (ვიკი, მონაცემთა ფურცლები, ტექნიკური მახასიათებლები და სახელმძღვანელოები, სადაც მოცემულია კატალოგები, ბლოგები და ჟურნალები, საინფორმაციო და საინფორმაციო სააგენტოების საიტები, ყვითელი გვერდები და ა.
- სოციალური საიტები (სოციალური პორტალები, სანიშნეები, ჩანაწერების აღების საიტები)
- თანამშრომლობის საიტები (ეს მოიცავს სხვა კატეგორიებს, როგორიცაა ვიკი და ბლოგები)
ნაბიჯი 3. ისწავლეთ სულ მცირე ერთი იდეა/მეთოდი და პროგრამა, რომელიც გამოიყენება ამ მეთოდის განსახორციელებლად
მაგალითად: ბრეინსტორმინგის დიაგრამები და MS Visio.
ნაბიჯი 4. გაეცანით ვებგვერდის სტრუქტურას
ეს ქმნის კონცეპტუალურ ვებ დიაგრამებს, საიტების რუქებს და სანავიგაციო სტრუქტურებს.
ნაბიჯი 5. გაიარეთ გრაფიკული დიზაინის ავარიის კურსი
შეეცადეთ ისწავლოთ მინიმუმ ერთი გრაფიკული რედაქტირების/მანიპულირების პროგრამული პაკეტი (სურვილისამებრ, მაგრამ მკაცრად რეკომენდირებული)
ნაბიჯი 6. ისწავლეთ ინტერნეტ ინფრასტრუქტურის საფუძვლები
ეს მოიცავს ძირითადი იდეის მიღებას:
- ვებ სერვისების ძირითადი პროტოკოლები (HTTP, FTP, SMTP და POP3 ან IMAP4)
- ვებ სერვერის პროგრამული უზრუნველყოფა (სასურველია, ერთი იმ პლატფორმისთვის, რომელზეც ძირითადად იმუშავებთ)
- ვებ გვერდების დათვალიერების პროგრამული უზრუნველყოფა.
- ელ.ფოსტის სერვერი და კლიენტის პროგრამული უზრუნველყოფა
ნაბიჯი 7. ისწავლეთ HTML და CSS ენები
შეიძლება დაგჭირდეთ მიიღოთ "რასაც ხედავთ არის ის რასაც იღებთ (WYSIWYG)" პროგრამული პაკეტი HTML რედაქტირებისთვის.
ნაბიჯი 8. ისწავლეთ XML და XML დაკავშირებული ტექნოლოგიები, როგორიცაა XSL და XPath (სურვილისამებრ, მაგრამ რეკომენდირებული)
ნაბიჯი 9. შექმენით მარტივი სტატიკური ვებსაიტები, სანამ არ იცნობთ და კომფორტულად იცნობთ HTML- ს
ნაბიჯი 10. ისწავლეთ კლიენტის მხარის სკრიპტირების ენა
მომხმარებელთა უმეტესობა სწავლობს JavaScript- ს. ზოგი სწავლობს VBScript- ს, მაგრამ ეს არ არის თავსებადი ბრაუზერების უმეტესობასთან.
ნაბიჯი 11. გაეცანით კლიენტის მხარის სკრიპტირების ენას, რომელიც ისწავლეთ
შეეცადეთ მიაღწიოთ თქვენს პოტენციალს მხოლოდ ამ ენის გამოყენებით. შემდეგ საფეხურზე გადადით მხოლოდ მას შემდეგ რაც მინიმუმ გაეცანით თქვენი კლიენტის სკრიპტირების ენას.
ნაბიჯი 12. ისწავლეთ სერვერის მინიმუმ ერთი პროგრამირების ენა
თუ გადაწყვეტთ შემოიფარგლოთ მხოლოდ ერთი სერვერის პროგრამული უზრუნველყოფით, ისწავლეთ ამ პროგრამული უზრუნველყოფის მიერ მხარდაჭერილი პროგრამირების ერთი ენა. თუ არა, ისწავლეთ მინიმუმ ერთი პროგრამირების ენა თითოეულ სერვერის პროგრამულ უზრუნველყოფაზე.
ნაბიჯი 13. შექმენით საპილოტე პროექტი თქვენთვის მას შემდეგ რაც დაასრულებთ სერვერის პროგრამირების ენის სწავლას.
ნაბიჯი 14. მიიღეთ თქვენი ვებ – გვერდი და დაიწყეთ ონლაინ ექსპერიმენტები თქვენს გვერდზე
მეთოდი 2 6 -დან: დესკტოპის აპლიკაციის დაპროგრამება
ნაბიჯი 1. იცოდეთ რას იწყებთ დესკტოპის პროგრამირების პროგრამირებით
დესკტოპის პროგრამისტების უმეტესობა წერს კოდს ბიზნეს გადაწყვეტილებებისთვის, ამიტომ ბიზნესზე, მათ ორგანიზაციულ და ფინანსურ სტრუქტურაზე წარმოდგენის მიღება დიდი დროის დამზოგავი იქნება.
ნაბიჯი 2. გაეცანით კომპიუტერის ტექნიკის სხვადასხვა არქიტექტურას
ციფრული სქემების დიზაინის შესავალი დონის კურსი და მეორე კომპიუტერული არქიტექტურაში სასარგებლოა; თუმცა, ზოგი მიიჩნევს, რომ ის ამოსავალია ამოსავალი წერტილისთვის, ამიტომ ორი ან სამი სასწავლო სტატიის წაკითხვა (მაგალითად, ეს ერთი და ეს ერთი) შეიძლება საკმარისი იყოს. შემდეგ შეგიძლიათ დაუბრუნდეთ ამ ნაბიჯს მოგვიანებით, მას შემდეგ რაც შეისწავლით თქვენს პირველ პროგრამირების ენას.
ნაბიჯი 3. ისწავლეთ საწყისი დონის (საბავშვო) პროგრამირების ენა
ნუ შეგეშინდებათ ისწავლოთ ასეთი ენა მხოლოდ იმიტომ, რომ თქვენ უფროსი ხართ ვიდრე "ბავშვი". ამ პროგრამირების ენების მაგალითი შეიძლება იყოს Scratch. ამ პროგრამირების ენებს შეუძლიათ გაათავისუფლონ თქვენი პირველი პროგრამირების ენის უზომოდ სწავლის ტკივილი. თუმცა, ეს ნაბიჯი არჩევითია. ეს ასევე შეიძლება გაკეთდეს წინა საფეხურამდე.
ნაბიჯი 4. გაეცანით პროცედურულს, ობიექტზე ორიენტირებული და პროგრამირების ფუნქციური პარადიგმები.
ნაბიჯი 5. გაიარეთ შესავალი კურსი პროგრამირების ერთ -ერთ პროცედურულ ენაზე
არ აქვს მნიშვნელობა რა ენას აირჩევთ მოგვიანებით, როგორც თქვენთვის სასურველი ენა, ის მოითხოვს გარკვეულ დონეზე პროცედურულ პროგრამირებას. ასევე, პროცედურული პროგრამირება პროგრამისტების უმეტესობის მიერ არის ყველაზე მარტივი, როგორც ამოსავალი წერტილი ზოგადად პროგრამირების იდეის მისაღებად.
ნაბიჯი 6. ისწავლეთ მინიმუმ ერთი მოდელირების ტექნიკა, როგორიცაა UML ან ORM
ნაბიჯი 7. დაიწყეთ მცირე კონსოლის ან კონსოლის მსგავსი პროგრამების წერა
თქვენ შეგიძლიათ გამოიყენოთ მცირე ზომის სავარჯიშოები პროგრამირების ენების წიგნებში. ამისათვის შეარჩიეთ ინსტრუმენტი პროგრამების დასაწერად იმ პროგრამირების ენაზე, რომელშიც თქვენ წერთ.
ნაბიჯი 8. გაიარეთ უფრო მოწინავე კურსი თქვენს მიერ არჩეულ პროგრამირების ენაზე
დარწმუნდით, რომ კარგად გესმით ქვემოთ მოყვანილი ცნებები და რომ შეძლოთ მათი გამოყენება შედარებით მარტივად წინ წასვლამდე:
- პროგრამის მომხმარებლებისთვის ინფორმაციის შეყვანა და გამოტანა.
- ლოგიკური ნაკადი და პროგრამების შესრულების ნაკადი პროცედურულ ენებზე.
- ცვლადების გამოცხადება, მინიჭება და შედარება.
- პროგრამირების ფილიალების კონსტრუქციები, როგორიცაა თუ.. შემდეგ.. სხვა და აირჩიეთ/გადართვა.. საქმე.
- მარყუჟის კონსტრუქციები, როგორიცაა
- თქვენი პროგრამირების ენის სინტაქსი პროცედურების და ფუნქციების შესაქმნელად და გამოძახებისთვის.
- მონაცემთა ტიპები და მათი მანიპულირება.
- მომხმარებლის მიერ განსაზღვრული მონაცემთა ტიპები (ჩანაწერები/სტრუქტურები/ერთეულები) და მათი გამოყენება.
- თუ თქვენი ენა მხარს უჭერს გადატვირთვის ფუნქციებს, გაიგეთ ეს.
- მეხსიერების წვდომა თქვენი არჩეული ენის მეთოდებით (მითითებები, თვალიერება და ა.
- თუ თქვენი ენა მხარს უჭერს ოპერატორების გადატვირთვას, გაიგეთ.
- თუ თქვენი ენა მხარს უჭერს დელეგატებს/ფუნქციის მითითებებს, გაიგეთ ეს.
ნაბიჯი 9. გამოიყენეთ ისწავლეთ მოწინავე ტექნიკა
ნაბიჯი 10. გაიარეთ შესავალი კურსი მინიმუმ კიდევ ერთი პროგრამირების ენაზე სხვა პროგრამირების პარადიგმაში
მიზანშეწონილია ვისწავლოთ თითოეული პარადიგმის ერთი პროგრამირების ენა, მაგრამ ყველაზე მოწინავე პროგრამისტები ამას აკეთებენ, თუმცა, თქვენ ჩვეულებრივ იწყებთ ერთს, მუშაობთ ცოტა ხნით თქვენი ცოდნის გამოყენებით და პრაქტიკაში, შემდეგ მეორეს ისწავლით მოგვიანებით, მას შემდეგ რაც უკვე გქონდათ რეალური -პროგრამირების ცხოვრების გამოცდილება. სცადეთ ერთი შემდეგი ენის სფერო:
- ლოგიკური პროგრამირების პარადიგმა.
- პროგრამირების ფუნქციური პარადიგმა.
- ობიექტზე ორიენტირებული პარადიგმა.
ნაბიჯი 11. შეეცადეთ შეადაროთ ორი პროგრამირების ენა, რომელიც აქამდე ისწავლეთ
შეაფასეთ თითოეული მათგანის ძლიერი და სუსტი მხარეები. ჩვეულებრივ, ეს კეთდება:
- აიღეთ თქვენი ადრეული მუშაობის მარტივი ნიმუშები პირველ პროგრამირების ენაზე და ხელახლა დაწერეთ იგი მეორე პროგრამირების ენაზე.
- შექმენით ახალი პროექტი და სცადეთ მისი განხორციელება ორივე ენაზე. ზოგჯერ, პროექტისა და ენების არჩევის მიხედვით, თქვენ შესაძლოა ვერ შეძლოთ პროექტის განხორციელება ერთ ენაზე!
- მოტყუების ფურცლის ან შემაჯამებელი ცხრილის შედგენა მსგავს კონსტრუქციებს შორის ორ ენაზე და თითოეული ენის უნიკალური მახასიათებლები.
- სცადეთ იპოვოთ ისეთი საშუალებების იმიტაციის გზები, რომლებიც უნიკალურია ორი ენიდან ერთისთვის, სხვა ენის გამოყენებით.
ნაბიჯი 12. ისწავლეთ ვიზუალური პროგრამირების ცნებები თქვენს მიერ შესწავლილი ერთ -ერთი ენის გამოყენებით
თითქმის ყველა პროგრამირების ენას აქვს ვერსიები/ბიბლიოთეკები, რომლებიც მხარს უჭერენ ვიზუალურ პროგრამირებას და სხვა მხარს უჭერენ კონსოლს ან კონსოლის მსგავს პროგრამირებას. ამის მიღწევა შესაძლებელია:
- გაეცანით მოვლენებზე ორიენტირებულ პროგრამირებას. ვიზუალური პროგრამირების უმეტესობა გარკვეულწილად ეყრდნობა მოვლენებისა და მოვლენების დამუშავებას (თქვენ მიერ არჩეული პროგრამირების ენის გამოყენებით).
- სცადეთ რაც შეიძლება მეტი დესკტოპის პროგრამული უზრუნველყოფა და გაიგეთ რას აკეთებს პროგრამული უზრუნველყოფა. პროგრამული უზრუნველყოფის შემქმნელი კომპანიების უმეტესობა გვთავაზობს მათი პროდუქციის ბეტა ტესტირების ვერსიებს, რომელთა გამოყენება შეგიძლიათ პროგრამული უზრუნველყოფის შესამოწმებლად. იყავით უახლესი მომხმარებლის ინტერფეისის სიახლეების შესახებ.
- წაიკითხეთ რამდენიმე სტატია ან გაკვეთილი გრაფიკული მომხმარებლის ინტერფეისების შესახებ.
ნაბიჯი 13. დაიწყეთ თქვენი ცოდნის გამოყენება თქვენს მიერ შემუშავებულ მცირე პროგრამულ პროექტებზე
სცადეთ გამოიყენოთ თქვენი პროგრამირების გამოცდილება იმ პრობლემებზე, რომლებიც თქვენს ყოველდღიურ ცხოვრებაში ხვდებათ. მაგალითად, დაწერეთ პროგრამები, რომლებიც გადარქმევს ფაილებს მასობრივად, ადარებს ტექსტურ ფაილებს ვიზუალურად, აკოპირებს დირექტორიაში არსებული ფაილების მეხსიერებას/ტექსტურ ფაილს და მსგავს რაღაცეებს. თავიდანვე შეინახეთ ეს მარტივი.
ნაბიჯი 14. შექმენით ვირტუალური გამოსაშვები პროექტი
დაასრულეთ ეს ბოლომდე, გამოიყენეთ აქამდე ნასწავლი ვიზუალური პროგრამირების ტექნიკა.
ნაბიჯი 15. გააფართოვეთ თქვენი ცოდნა ვიზუალური ჩარჩოს/ბიბლიოთეკის/პაკეტის შესახებ, რომელიც ადრე ისწავლეთ დამატებითი კურსების გავლით, დეტალებისადმი დამატებითი ყურადღების მიქცევით და თქვენი რესურსის შესახებ რჩევებისა და ხრიკების სწავლით ონლაინ რესურსებიდან
ნაბიჯი 16. მოძებნეთ თქვენი პროგრამირების ენების ვიზუალური ელემენტების სხვა პაკეტები/ბიბლიოთეკები და ისწავლეთ ისინი
ნაბიჯი 17. გაიარეთ გრაფიკის კურსი (არა გრაფიკული დიზაინი)
ეს ძალიან გამოსადეგი იქნება პროგრამისტებისთვის, რომელთაც სურთ დაწერონ მიმზიდველი ინტერფეისის ელემენტები.
ნაბიჯი 18. განიხილეთ თამაშების პროგრამისტი (სურვილისამებრ)
თამაშის პროგრამირება განიხილება, უმეტეს ნაწილში, დესკტოპის პროგრამირებად. თუ თქვენ აპირებთ გახდეთ თამაშების პროგრამისტი, ამ ნაბიჯების დასრულების შემდეგ თქვენ უნდა გაიგოთ მეტი თამაშის პროგრამირების შესახებ. გრაფიკული კურსი აუცილებელია პროგრამისტებისთვის და არჩევანის მეორე ენა წინა საფეხურებში უნდა იყოს ლოგიკური/ფუნქციური პროგრამირების ენა (სასურველია პროლოგი ან ლისპი).
მეთოდი 3 დან 6: განაწილებული პროგრამების პროგრამირება
ნაბიჯი 1. გაუმკლავდეთ განაწილებული პროგრამების პროგრამირებას
განაწილებული პროგრამირების პროგრამა ბევრს მიიჩნევს ერთ – ერთ ყველაზე რთულად სასწავლად და მოითხოვს მრავალფეროვან ცოდნას კომპიუტერულ და საკომუნიკაციო ტექნოლოგიებში.
ნაბიჯი 2. სწრაფად გაეცანით სატელეფონო სისტემებს და მათ ტექნიკას
ეს ნაბიჯი არჩევითია. თუმცა, ეს ძალიან სასარგებლოა ქსელის ტოპოლოგიების გასაგებად.
ნაბიჯი 3. გაეცანით ქსელის აპარატურის არქიტექტურასა და მოწყობილობებს, როგორიცაა ჰაბები, კონცენტრატორები და მარშრუტიზატორები
ნაბიჯი 4. გაიარეთ კურსი ქსელური პროტოკოლებისა და აუცილებლობის შესახებ
თქვენ გჭირდებათ კარგად გაეცნოთ ღია სისტემების ურთიერთკავშირის (OSI) მოდელს, Ethernet- ს, IP- ს, TCP- ს, UDP- ს და HTTP- ს, სანამ განაწილებული პროგრამების დაპროგრამებას დაიწყებთ.
ნაბიჯი 5. ისწავლეთ XML ენა და გაეცანით მას
ნაბიჯი 6. დაიწყეთ სელის სკრიპტირების ენის შესწავლით
Windows– ზე დაფუძნებული პროგრამირებისთვის, ეს იქნება ნებისმიერი სკრიპტი, რომელიც მუშაობს Windows Scripting Host– ით. Linux– ზე დაფუძნებული პროგრამირებისთვის, Bash სკრიპტები და Perl საკმარისი იქნება. JavaScript მკაცრად არის რეკომენდირებული ამისთვის ორივე პლატფორმაზე შემდეგი მიზეზების გამო:
- მას მხარს უჭერს თითქმის ნებისმიერი სკრიპტირების მასპინძელი ნებისმიერ ოპერაციულ სისტემაში (Windows Scripting Host მხარს უჭერს JavaScript სტანდარტულად, Linux– ის უმეტეს დისტრიბუციას აქვს პაკეტი JavaScript სკრიპტირების კონსოლის მხარდაჭერისთვის).
- ბევრ დეველოპერს მიაჩნია, რომ სწავლა უფრო ადვილია.
- მას აქვს ALGOL- ის სინტაქსი, რომელიც გაცნობთ სხვა პროგრამირების ბევრ სხვა ენას, როდესაც თქვენ გჭირდებათ მეორე პროგრამირების ენის არჩევა (C, C ++, C#, Java და J# ყველას აქვს ALGOL- ის სინტაქსი).
- JavaScript– ის შესწავლით თქვენ გაეცანით ვებ გვერდების კლიენტის სკრიპტირებას, რაც ბონუს გვერდითი მოვლენაა!
ნაბიჯი 7. გამოიყენეთ მხოლოდ პროცედურული პროგრამირება თქვენი სკრიპტირების არჩეული ენის გამოყენებით
მოგვიანებით, თქვენ შეგიძლიათ გამოიყენოთ უფრო მოწინავე პროგრამირების ტექნიკა და პარადიგმები თქვენი სკრიპტირების ენისა და მისი მხარდაჭერის მიხედვით. სკრიპტირების ყველა ენას აქვს გარკვეული პროგრამული უზრუნველყოფის ასპექტები გარკვეულ დონეზე.
ნაბიჯი 8. გამოიყენეთ სკრიპტირების ენა, რომელიც ისწავლეთ სკრიპტების წერაზე, რომლებიც ასრულებენ კომუნიკაციებს მანქანებს შორის
ისწავლეთ რა არის საჭირო ამის გასაკეთებლად. მარტივი კომუნიკაცია საკმარისი იქნება.
ნაბიჯი 9. გადაიტანეთ დესკტოპის სკრიპტირების/პროგრამირების ენაზე
სასურველია, ისეთი მრავალენოვანი ენა, როგორიცაა პითონი. მიიღეთ მარტივი შესავალი იმ მეორე ენაზე. პროგრამისტების უმრავლესობა ჯავას მიიჩნევს არჩევანის ენად მრავალი მიზეზის გამო. თუმცა, C# სწრაფად იძენს იმპულსს ამ სფეროში. Java და C# სასურველია შემდეგი მიზეზების გამო:
- ისინი არიან ობიექტზე ორიენტირებული პროგრამირების ენები, რომლებიც იცავს პროგრამისტებს დიდ გუნდებში განხორციელების დეტალებისგან, რადგან ორივე მხარს უჭერს კომპონენტებს (კოდის ერთეულები, წინასწარ შედგენილი, რომლებიც ასრულებენ გარკვეულ ამოცანას და შეიძლება გამოყენებულ იქნას სხვა პროგრამებში).
- ისინი მხარს უჭერენ მოვლენებზე ორიენტირებულ პროგრამირებას, ასევე OO და პროცედურულ პროგრამირებას გარკვეულ დონეზე.
- ჩარჩო, რომელზედაც აგებულია ენა, ნაწილდება ბუნებით (ჯავის შემთხვევაში).
- ბევრი მზა პაკეტის ხელმისაწვდომობა, რომელიც ეხება ქსელს, როგორც ღია კოდის, ასევე ჩარჩო ჩამონტაჟებული პაკეტების სახით; ეს პროგრამისტებს გაუადვილებს სხვების მუშაობას.
ნაბიჯი 10. მეტი კონცენტრირება მოახდინეთ ენის ძირითად მახასიათებლებზე, განსაკუთრებით ქსელის დამხმარე საშუალებებზე
ნაკლები ყურადღება მიაქციეთ მომხმარებლის ინტერფეისის ელემენტებს, როგორიცაა გამომავალი, ფანჯრის დიზაინი და ტექნიკა და მომხმარებლის ინტერფეისის ელემენტები.
ნაბიჯი 11. გაიარეთ კურსი განაწილებული პროგრამების დიზაინსა და არქიტექტურაზე
ეს შეიძლება გაკეთდეს წიგნების, ონლაინ გაკვეთილების ან აკადემიური კურსების გამოყენებით. ამასთან, აუცილებელია განაწილებული პროგრამების არქიტექტურისა და მისი კონცეფციების გაგება.
ნაბიჯი 12. გაეცანით შექმნილ მომსახურე კომპონენტებს და სერვისებს თქვენი არჩეული პროგრამირების ენის გამოყენებით
ნაბიჯი 13. ისწავლეთ ერთი ან მეტი შემდეგი ტექნოლოგია
მიზანშეწონილია, რომ სულ მცირე გაეცნოთ ყველა მათგანს. უმეტესწილად განაწილებული პროგრამისტები არ ჩერდებიან ერთი ან ორი პროგრამირების ენაზე, არამედ სწავლობენ მინიმუმ ერთ პროგრამირების ენას თითოეულ ოპერაციულ სისტემაზე. ეს იმიტომ ხდება, რომ თუ გსურთ რომ თქვენი აპლიკაცია იყოს "განაწილებული", თქვენ უნდა მოგაწოდოთ მისი ვერსია მინიმუმ თითოეული ძირითადი ოპერაციული სისტემისთვის.
- საერთო ობიექტის მოთხოვნის საბროკერო არქიტექტურა (CORBA)
- მარტივი ობიექტზე წვდომის პროტოკოლი (SOAP)
- ასინქრონული JavaScript და XML (AJAX)
- განაწილებული კომპონენტის ობიექტის მოდელი (DCOM)
- . NET დისტანციური
- XML ვებ სერვისები
მეთოდი 4 დან 6: ბიბლიოთეკა/პლატფორმა/ჩარჩო/ძირითადი პროგრამირება
ნაბიჯი 1. იცოდეთ რა არის ძირითადი პროგრამირება
ძირითადი პროგრამისტები არიან უბრალოდ მოწინავე პროგრამისტები, რომლებმაც გადაინაცვლეს პროგრამირების პროგრამებიდან პროგრამირების კოდის ერთეულებში, რათა გამოიყენონ სხვა პროგრამისტებმა.
ნაბიჯი 2. ისწავლეთ პროგრამირების ენა, რომელიც მხარს უჭერს მრავალჯერადი გამოყენების კომპონენტების/პაკეტების შექმნას, თუ ეს უკვე არ გაკეთებულა
ნაბიჯი 3. გაიარეთ მოწინავე კურსი UML და ORM
ბიბლიოთეკის შემქმნელთა უმეტესობა იყენებს ერთ ან ორივე მათგანს.
ნაბიჯი 4. გაიარეთ კურსი პროგრამული უზრუნველყოფის ინჟინერიაში
ნაბიჯი 5. ისწავლეთ მინიმუმ მოდულური, კომპონენტზე დაფუძნებული, ობიექტზე ორიენტირებული და მოვლენებზე ორიენტირებული პროგრამირების ტექნიკა და ცნებები
რაც უფრო მეტი პროგრამირების პარადიგმა და ენაა დაფარული, მით უფრო წარმატებული იქნებით როგორც ბიბლიოთეკა/პაკეტის პროგრამისტი.
ნაბიჯი 6. შეიტყვეთ მეტი ამ ოპერაციული სისტემების მიერ მხარდაჭერილი სხვადასხვა ოპერაციული სისტემისა და პროგრამირების ჩარჩოების შესახებ
ნაბიჯი 7. ფოკუსირება თქვენი სწავლის ძალისხმევა პლატფორმისგან დამოუკიდებელ ჩარჩოებზე, პროგრამირების ენებზე და ტექნოლოგიებზე
ნაბიჯი 8. თუ თქვენ მიერ აქამდე შესწავლილ პროგრამირების ენებს აქვთ ANSI/ISO/IEEE/W3C სტანდარტული ვერსიები, დაეუფლეთ სტანდარტებს.
შეეცადეთ გამოიყენოთ სტანდარტული კოდი შეძლებისდაგვარად.
ნაბიჯი 9. შეეცადეთ მიბაძოთ უბრალო, უკვე ჩამოყალიბებულ ბიბლიოთეკებს, განსაკუთრებით ღია
ეს სასარგებლოა ბიბლიოთეკის/პაკეტის პროგრამისტად ქცევის ადრეულ ეტაპზე. დაიწყეთ მარტივი პაკეტებით, როგორიცაა ერთეულების გარდაქმნა და შუალედური სამეცნიერო გამოთვლების პაკეტები. თუ თქვენ ხართ კოლეჯის სტუდენტი, გამოიყენეთ თქვენი არაპროგრამირების კურსები, შეეცადეთ განახორციელოთ მათი განტოლებები და სამეცნიერო ბირთვი, როგორც ბიბლიოთეკები.
ნაბიჯი 10. მოძებნეთ და სცადეთ ღია კოდის პაკეტები პროგრამირების სფეროში
პირველი გადმოწერეთ პაკეტის ორობითი/შესრულებადი ფაილები. შეეცადეთ გამოიყენოთ იგი და იპოვოთ მისი ძლიერი და სუსტი წერტილები. ამის დასრულების შემდეგ გადმოწერეთ წყარო და შეეცადეთ გაარკვიოთ როგორ გაკეთდა ეს. შეეცადეთ ხელახლა შექმნათ ეს ბიბლიოთეკები ან მათი ნაწილები. თავდაპირველად, გააკეთეთ ეს მას შემდეგ რაც დაინახავთ კოდს და მოგვიანებით სანამ დაინახავთ კოდს. შემდგომ ეტაპზე სცადეთ ბიბლიოთეკების გაუმჯობესება.
ნაბიჯი 11. ისწავლეთ სხვადასხვა მიდგომები, რომლებიც გამოიყენება პროგრამისტებისთვის კომპონენტების განაწილებისა და განთავსებისთვის
- ჩვეულებრივ, ბიბლიოთეკის/პაკეტის პროგრამისტები ფიქრობენ რეკურსიულად და/ან განმეორებით ყველა იმ პრობლემის შესახებ, რაც მათ აქვთ.შეეცადეთ თითოეული პრობლემა წარმოიდგინოთ, როგორც მცირე პრობლემების ერთობლიობა (უფრო მარტივი ამოცანების თანმიმდევრობა), ან როგორც განმეორებითი პროცესი პრობლემის სფეროს მცირე სფეროებამდე შემცირებისა და შემდეგ ამ სფეროების ერთმანეთზე დაგროვებისა.
- ბიბლიოთეკის/პაკეტის პროგრამისტები განზოგადებას ცდილობენ. ანუ, როდესაც წარმოიქმნება უბრალო კონკრეტული პრობლემა, ისინი ჩვეულებრივ ფიქრობენ უფრო ზოგად პრობლემაზე და ცდილობენ გადაჭრან ის ზოგადი პრობლემა, რომელიც ავტომატურად მოაგვარებს უფრო პატარას.
მეთოდი 5 დან 6: სისტემის პროგრამირება
ნაბიჯი 1. გაიაზრეთ რას გულისხმობს სისტემის პროგრამირება
სისტემის პროგრამისტები პროგრამირების მეცნიერებას ეხება და არა მის კონკრეტულ განხორციელებას. ნუ მიეკიდებით საკუთარ თავს კონკრეტულ პლატფორმაზე.
ნაბიჯი 2. დაიცავით დესკტოპის პროგრამების პროგრამისტების პირველი სამი ნაბიჯი
ნაბიჯი 3. გაიარეთ შესავალი კურსი ხაზოვანი ალგებრაში
ნაბიჯი 4. გაიარეთ კურსი კალკულუსში
ნაბიჯი 5. გაიარეთ ლოგიკის ან/და დისკრეტული მათემატიკის კურსი
ნაბიჯი 6. გააცანით საკუთარი თავი სხვადასხვა შიშველ ოპერაციულ სისტემებს
ეს შეიძლება გაკეთდეს:
- მიიღეთ იდეა, თუ როგორ არის დაინსტალირებული ოპერაციული სისტემები.
- ისწავლეთ როგორ დააინსტალიროთ სხვადასხვა ოპერაციული სისტემა ერთ კომპიუტერზე (სურვილისამებრ, მაგრამ რეკომენდირებულია).
- ერთზე მეტი ოპერაციული სისტემის დაყენება. არ დააინსტალიროთ დამხმარე პაკეტები სისტემებზე; ამის ნაცვლად, გამოიყენეთ შიშველი ფუნქციონირება, რომელიც გათვალისწინებულია ოპერაციული სისტემებით.
ნაბიჯი 7. გაიარეთ კურსი (ან ალტერნატიულად, წაიკითხეთ წიგნები) კომპიუტერული ტექნიკის არქიტექტურაზე
ნაბიჯი 8. განავითარეთ სხვადასხვა კომპიუტერული ტექნიკის პლატფორმების გაგება
ნაბიჯი 9. გაეცანით აპარატურის პლატფორმის/არჩეული ოპერაციული სისტემის შეკრების ენას
მოგვიანებით თქვენ შეისწავლით სხვა პლატფორმების/სისტემების შეკრებას.
ნაბიჯი 10. ისწავლეთ ANSI C და C ++ ენები, პროცედურული პროგრამირების ცნებებთან ერთად
ნაბიჯი 11. გაეცანით და ივარჯიშეთ C/C ++ სტანდარტული ბიბლიოთეკების არჩევით პლატფორმაზე
განსაკუთრებული ყურადღება მიაქციეთ სტანდარტულ თარგი ბიბლიოთეკას (STL) და შესაძლოა აქტიურ თარგი ბიბლიოთეკას (ATL).
ნაბიჯი 12. მოძებნეთ ონლაინ რესურსები, წიგნები და კურსები, რათა გაეცნოთ თქვენი კონკრეტული პლატფორმის C- არომატს
ნაბიჯი 13. ივარჯიშეთ მოწინავე კოდის შექმნით C და C ++ - ით
ნაბიჯი 14. ისწავლეთ უფრო მოწინავე ასამბლეა
ნაბიჯი 15. გაიარეთ ოპერაციული სისტემების დიზაინის კურსი
ნაბიჯი 16. იპოვეთ და წაიკითხეთ დოკუმენტები თქვენი არჩევანის კონკრეტული პლატფორმისგან
ეს უფრო ადვილი იქნება, თუ აირჩევთ Unix– ზე დაფუძნებულ ოპერაციულ სისტემას. კარგად გააცნობიერე ის სისტემა, რომელთანაც მოგვიანებით იმუშავებ.
ნაბიჯი 17. პრაქტიკაში გამოიყენეთ მიღებული ცოდნა
პირველი შექმენით მცირე სისტემის კომუნალური საშუალებები. ჩვეულებრივ სასარგებლოა:
- ცდილობს ხელახლა შექმნას მცირე ინსტრუმენტები, რომლებიც უკვე არსებობს თქვენს სისტემაში.
- ცდილობს სხვა ოპერაციულ სისტემებში არსებული კომუნალური საშუალებების თქვენსას გადატანა.
ნაბიჯი 18. ისწავლეთ ენები ყველაზე სასარგებლო თანმიმდევრობით
ეს არის ერთადერთი ადგილი, სადაც მნიშვნელოვანია პირველი პროგრამირების ენა. ისწავლეთ ANSI C ჯერ არა C ++, არა C#, არა Java და არა D. შემდეგ ისწავლეთ C ++.
-
პირველი ენის შეზღუდვა C და C მხოლოდ იმიტომ ხდება, რომ სისტემური პროგრამირება მოითხოვს, რომ პროგრამისტმა იცოდეს შემდეგი ცნებები:
- წყაროს კოდის რეალური და სრული შედგენა.
- დაბალი დონის ობიექტის გამომავალი ფაილები.
- ორობითი კავშირები.
- დაბალი დონის მანქანური ენა/ასამბლეის პროგრამირება. C ენაზე ნათქვამია, რომ ზოგიერთი შენიღბულია/უფრო ადვილად ისწავლის შეკრებას. ის ასევე მხარს უჭერს ასამბლეის ენის კოდის ჩასმას კოდში, როცა გნებავთ და ეს მხოლოდ პროცედურულია (ასამბლეის მსგავსად).
მეთოდი 6 დან 6: პროგრამირების მეცნიერება
ნაბიჯი 1. იცოდეთ რას აკეთებს პროგრამირების მეცნიერი
პროგრამირების მეცნიერები არიან ძალიან მოწინავე პროგრამისტები, რომლებიც პროგრამების შემუშავების ნაცვლად მუშაობენ გამოთვლითი ტექნოლოგიების შემუშავებაზე, როგორიცაა დაშიფვრა, პროგრამირების ენები და მონაცემთა მოპოვების ალგორითმები. ეს დონე იშვიათად მიიღწევა აკადემიური სწავლისა და თავდადების გარეშე.
ნაბიჯი 2. კომპიუტერული მეცნიერების ოთხწლიანი ხარისხის ექვივალენტური სამეცნიერო ცოდნის დაგროვება
ეს შეიძლება გაკეთდეს ან:
- რეალური აკადემიური ხარისხის მიღება (რაც ჩვეულებრივ ხდება).
- ერთ – ერთი თანამედროვე უნივერსიტეტიდან ასეთი ხარისხის კურსების მონახულება და კურსების გავლა ან თვითსწავლით, ან ცალკე კურსების სახით. ამის მიღწევა თეორიულად შეიძლებოდა, მაგრამ რეკომენდებული გზა პირველია.
ნაბიჯი 3. გადაწყვიტეთ სპეციალობის სფერო
რაც უფრო კონკრეტულია, მით უკეთესი. ეს დამოკიდებულია თქვენს პრეფერენციებზე. ამასთან, აქ მოცემულია კომპიუტერული პროგრამირების მეცნიერების ზოგიერთი ძირითადი თემის ჩამონათვალი:
- ალგორითმის დიზაინი (რამდენიმე მაგალითია კომუნიკაციებში ძიება, დახარისხება, დაშიფვრა, გაშიფვრა და შეცდომების გამოვლენა)
- პროგრამირების ენები/შემდგენლის დიზაინი/ოპტიმიზაცია
- ხელოვნური ინტელექტის სფეროები (ნიმუშის ამოცნობა, მეტყველების ამოცნობა, ბუნებრივი ენის დამუშავება, ნერვული ქსელები)
- რობოტიკა
- სამეცნიერო პროგრამირება
- სუპერ გამოთვლა
- კომპიუტერული დიზაინი/მოდელირება (CAD/CAM)
- Ვირტუალური რეალობა
- კომპიუტერული გრაფიკა (კომპიუტერული გრაფიკა, როგორც წესი, არასწორად არის შერწყმული გრაფიკულ დიზაინთან ან ინტერფეისის გრაფიკულ დიზაინთან. კომპიუტერული გრაფიკა არის სფერო, რომელიც შეისწავლის კომპიუტერულ სისტემებში გრაფიკის წარმოდგენას და მანიპულირებას.)
ნაბიჯი 4. განიხილეთ უმაღლესი აკადემიური ხარისხის მიღება
შეიძლება დაგჭირდეთ სამაგისტრო ან დოქტორანტურის გაგრძელება.