डिसट्रीब्यूटेड एप्लीकेशन प्रोग्रामिंग सबसे मुश्किल होने के लिए जाना जाता है और इसके लिए कंप्यूटर और कम्यूनिकेशन टेक्नोलॉजीस में विविध ज्ञान की आवश्यकता है। यह कदम वैकल्पिक है। हालांकि, यह नेटवर्क टोपोलॉजी समझने में बहुत उपयोगी है।  आपको डिसट्रीब्यूटेड एप्लीकेशन प्रोग्रामिंग शुरू करने से पहले ओपन सिस्टम इंटरकनेक्शन (ओएसआई) मॉडल, ईथरनेट, आईपी, टीसीपी, यूडीपी और एचटीटीपी की अच्छी समझ की जरूरत है।  विंडोज बेस्ड प्रोग्रामिंग के लिए, कोई भी स्क्रिप्ट होगा जो कि विंडोज स्क्रिप्टिंग होस्ट के साथ काम करता हो। लिनक्स बेस्ड प्रोग्रामिंग के लिए, बाश स्क्रिप्ट और पर्ल पर्याप्त होगा। जावास्क्रिप्ट की दृढ़ता से दोनों प्लेटफार्मों के लिए निम्नलिखित कारणों से सिफारिश की जाती है:  यह किसी भी ऑपरेटिंग सिस्टम में लगभग किसी भी स्क्रिप्टिंग होस्ट द्वारा समर्थन किया जाता है (विंडोज स्क्रिप्टिंग होस्ट डिफ़ॉल्ट रूप से जावास्क्रिप्ट का समर्थन करता है, लगभग सब लिनक्स डिसट्रीब्यूशन्स के पास जावास्क्रिप्ट स्क्रिप्टिंग कंसोल समर्थन के लिए एक पैकेज होता है)। यह कई डेवलपर्स द्वारा जानने में आसान माना जाता है। इसमें एक ALGOL द्वारा निकाली गया सिंटेक्स है, जो अगर आपको एक दूसरी प्रोग्रामिंग लेन्गवेज का चयन करने की आवश्यकता होती है, तब अन्य प्रोग्रामिंग लेन्गवेजेस के साथ आपका परिचय कराती हैं, C, C++, C#, जावा, J#, सभी ALGOL सिंटैक्स द्वारा निकाली गयी हैं। जावास्क्रिप्ट सीख कर, आप वेब पृष्ठों की क्लाइंट साइड स्क्रिप्टिंग के साथ खुद को परिचित करके एक बोनस पक्ष पाते है! बाद में, आप अपनी स्क्रिप्टिंग लेन्गवेज और यह किसका समर्थन करता है, के अनुसार और अधिक एडवांस्ड प्रोग्रामिंग टेक्नीक्स और पैराडिग्म का उपयोग कर सकते हैं। सभी स्क्रिप्टिंग लेन्गवेजेस में किसी ना किसी स्तर पर कुछ प्रोसीजरल प्रोग्रामिंग पहलू हैं। जानें यह करने के लिए क्या आवश्यक है। सिम्पल कम्यूनिकेशन पर्याप्त होगा। अधिमानतः, एक मल्टी-पैराडिग्म लेन्गवेज जैसे कि पायथन। उस दूसरी लेन्गवेज का एक सिम्पल परिचय लें। जावा कई प्रोग्रामर द्वारा कई कारणों से पसंद की लेन्गवेज मानी जाती है। हालांकि, C # इस क्षेत्र में तेजी से गति प्राप्त कर रहा है। जावा और C # निम्नलिखित कारणों के लिए पसंद किए जाते हैं:  वे इस प्रकार हैं, ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लेन्गवेजेस, जो प्रोग्रामर को इंप्लीमेंटेशन की...

===
Write a summary of the previous text in Vietnamese:
Tìm hiểu về lập trình ứng dụng phân tán. Tìm hiểu cấp tốc về các hệ thống thoại và phần cứng của chúng. Tự làm quen với kiến trúc phần cứng và các thiết bị làm việc mạng như các bộ tập trung trung tâm (hub), thiết bị chuyển mạch (switch) và định tuyến (router). Học một khóa học về các giao thức và những thứ cơ bản liên quan. Học ngôn ngữ XML và tự làm quen với nó. Bắt đầu bằng việc học một ngôn ngữ lập trình kịch bản cho chương trình thông dịch lệnh. Đầu tiên, chỉ áp dụng lập trình thủ tục bằng ngôn ngữ kịch bản mà bạn chọn. Sử dụng ngôn ngữ lập trình kịch bản bạn đã học để viết các kịch bản thực hiện việc thông tin giữa các máy. Chuyển đổi sang một ngôn ngữ lập trình/kịch bản máy bàn. Tập trung hơn vào các tính năng cốt lõi của ngôn ngữ, đặc biệt là những tính năng hỗ trợ kết nối mạng. Tham gia một khóa đào tạo về thiết kế và kiến trúc ứng dụng phân tán. Học cách xây dựng các thành phần dịch vụ cũng như sử dụng ngôn ngữ lập trình bạn chọn. Học một hoặc nhiều hơn các công nghệ sau.