Education Blog
  • اخبار التكنولوجيا
  • إنترنت
  • شبكات الكمبيوتر
  • برمجة
  • أمن المعلومات
  • أنظمة التشغيل
  • كلاود
  • مكتبة كونكت
  • كورسات
No Result
View All Result
Connect4Techs
No Result
View All Result
Home برمجة

كيف أتعلم البرمجة ؟

Ahmad Hussain by Ahmad Hussain
2022-04-25
in برمجة, لغات البرمجة
0
508
SHARES
1.6k
VIEWS
Share on FacebookShare on Twitter

هل أستطيع تعلم البرمجة ؟ أو هل أنا مؤهل لأصبح مبرمجًا ؟

سؤال لا يزال يسئل مراراً وتكرارً لكل من دخل جديداً في عالم البرمجة , وبالمقابل نوجه سؤالاً لكل متعلم جديد لماذا تتعلم البرمجة؟ هل لديك الحافز الحقيقي لتعلم البرمجة ؟ هل يكمن في قلبك الحب والصبر والشوق للغوص في هذا العالم الواسع ؟ ان قلت نعم , فمرحباً بك للغوص من دون غرق لنبدأ بداية صحيحة لتعلم البرمجة ابتداءاً من اساس البرمجة وعملها :

تعريف البرمجة

البرمجة هي عبارة عن كتابة شيفرة او ما يسمى بمصطلح كود برمجي أي مجموعة من الأوامر يتم ترجمتها وتنفيذها من قِبَل جهاز الحاسوب أو أي جهازٍ إلكتروني آخر و يجري كتابة هذه الأوامر والتعليمات بإحدى لغات البرمجة التي تعتبر الوسيط بين المبرمج و الحاسوب .

لو أردنا أن نقول للحاسوب “اطبع كلمة Hello World واعرضها على شاشة الحاسوب” فسنحتاج هنا إلى لغةٍ مشتركةٍ بيننا وبينه ليفهم ما نبتغيه وهنا يأتي دور لغات البرمجة .

لغة البرمجة

وسيلة للتخاطب بين المبرمج و الحاسوب وهي مجموعة من الأوامر تكتب وفق قواعد معينة تحددها نوع لغة البرمجة ومن ثُمَّ تمر هذه الأوامر بعدة مراحل إلى أن تنفذ على جهاز الحاسوب .

كل لغة برمجة لها خصائصها التي تميزها عن الأخرى وتجعلها مناسبة بدرجات متفاوتة لكل نوع من أنواع البرامج والمهمة المطلوبة من هذا البرنامج كما أن للغات البرمجة أيضاً خصائص مشتركة وحدود مشتركة بحكم أن كل هذه اللغات صممت للتعامل مع الحاسوب .

مستويات لغات البرمجة

قد تتسأل يوماُ لماذا هناك العديد من لغات البرمجة ؟ لماذا لا توجد لغة واحدة للتعامل بين المبرمج والحاسوب وللأجابة في الحقيقة ان هناك لغة واحدة يفهمها الحاسوب او معالج الحاسوب وهي الاحاد والاصفار 11100101010 وتسمى هذه اللغة بلغة الآلة وهي التي توجه الاوامر بشكل مباشر الى الحاسوب ليتم تنفيذها .

ولغة الآلة لغة صعبة في كتابتها ليفهمها البشر وحتى لو تم كتابة امر بسيط (كما في بداية اختراع الحاسوب) فسيكون عبارة عن مجموعة ضخمة من الاحاد والاصفار ولن يفهمه غيرك ولا يستطيع احد التعديل عى الشفرة او تطويرها .

وعلى مرور الزمن ونظراً للتطور وسعياً لايجاد لغة يفهمها البشر لتكون الوسيط بينه وبين الحاسوب تم تقسيم لغات البرمجة بناء على قربها من اللغات الإنسانية إلى :

  • لغة عالية المستوى (اقرب الى اللغة التي يفهمها البشر) مثل : السي شارب c#، البايثون python والجافا java.
  • لغة منخفضة المستوى (قريبة من لغة الآلة) مثل : لغة التجميع assembly .

وهذه صورة توضيحية للاكواد التي يتم كتابتها حسب مستوى كل لغة .

مستويات لغات البرمجة

كيف يعمل الكود البرمجي

مثلما عرفنا في السابق ان الحاسوب لا يفهم المبرمج او لغات البرمجة عالية المستوى مثلا لا يفهم الكود البرمجي (“print(“hello world ,وانما يفهم فقط لغة الآلة التي هي عبارة عن احاد واصفار , في اللغات البشرية الاعتيادية ( الانكليزية , العربية , الاسبانية … ) هناك مترجم واحد يقوم بالترجمة بين اللغات البشرية للتواصل , اما في لغات البرمجة هناك نوعان من المترجمات بين اللغات :

  • المترجم (compiler) : من خلال اسمه يتضح جليا أنه يقوم بعملية الترجمة، فهو يقوم بفحص البرنامج المكتوب بلغة البرمجة كاملا، ثم يقوم بترجمته إلى برنامج مكتوب بلغة الآلة لكي تتمكن وحدة معالجة البيانات CPU من تنفيذه و لا يظهر الأخطاء الموجودة في البرنامج المصدري إلا بعد الانتهاء من عملية تحويله إلى لغة الآلة.
  • المفسر (interpreter) : يقوم تقريبا بنفس الدور الذي يقوم به المترجم مع اختلاف بسيط، يتجلى في أن المفسر لا يقوم بتحويل الكود المصدري إلى كود الآلة مباشرة وإنما يقوم بتحويله إلى لغة وسيطة intermediate code، بعد ذلك يتم تحويل كل جزء من أجزاء الكود الناتج إلى لغة الآلة، ثم يتم تنفيذ هذه الأجزاء أمرا بأمر سطر بسطر ، وأي أمر يضم خطأً يؤدي إلى توقيف عملية تحويل الأجزاء المتبقية.

كيف اختار لغة البرمجة التي تناسبني

يعتمد اختيار لغة البرمجة المناسبة على المجال الذي ترغب العمل فيه , وهنا وصف مبسط لمجموعة من المجالات الرئيسية في وقتنا الحالي :

  • مجال الويب او تطوير المواقع : ويهتم هذا المجال بتصميم صفحات المواقع وبرمجتها , واشهر اللغات المستخدمة html,css,javascript,php,asp.net
  • مجال تطبيقات الهواتف : وهذا المجال متخصص ببرمجة وتطوير تطبيقات الاندرويد و الios كل مجال على انفراد او التخصص بتطبيقات الFlutter التي تعمل على كل النظامين ,اشهر اللغات المستخدمة kotlin -java للاندرويد , Swift للios, وdart للFlutter .
  • مجال تطبيقات سطح المكتب : ويتخصص هذا المجال ببناء تطبيقات وبرامج سطح المكتب لكل النظامين windows و لينكس , اشهر اللغات البرمجة المستخدمة java – #c -python-visual basic .
  • مجال تطوير الالعاب : مجال متخصص ببرمجة الالعاب الالكترونية واشهر محركين للبرمجة وتصميم الالعاب هما Unity و Unreal واشهر اللغات المستخدمة للبرمجة C# , javascript .

وهناك مجالات وتخصصات مختلفة مثل تخصص قواعد البيانات والذكاء الاصطناعي والحماية والاختراق الاخلاقي ,يمكنك قراءة مقالة متخصصة بانواع المجالات والتخصصات ضمن قسم مقالات كوداتي .

الخوارزميات والبرمجة

قد يخيف مصطلح “الخوارزميات Algorithms” لبعض الاشخاص والمتحيرين هل ابدء بالخوارزميات ثم البرمجة او البرمجة ثم الخوارزميات وهنا سنضع مختصر بسيط للخوارزميات في نقاط :

تعريف الخوارزميات بالشكل العام : هي مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما, وسميت الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي.

الخوارزميات في البرمجة : هي طرق التحليل و التفكير التي عليك اتباعها حتى تتمكن من كتابة الكود بشكل صحيح , والذي عليك ان تعرفه ان الخوارزميات ليست بلغة برمجة .

الهدف الرئيسي من الخوارزميات في البرمجة هو التفكير بكتابة الكود الصحيح قبل البدء بكتابته بأي لغة برمجة للوصول الى كود نظيف خالي من المشاكل .

والخوارزميات يمكن تمثيلها شكلاً (مخطط انسيابي ) قبل البدء بكتابة الخوارزمية لتبسيط مرحلة كتابة الخوارزمية , وهنا مثال بسيط (عبارة عن ادخال ثلاث ارقام وطباعة المعدل) يوضح الفرق بين الطريقتين :

الخوارزميات والبرمجة

هل الخوارزميات مهمة لتعلم البرمجة ؟

نعم قد تكون مهمة للمبتدئين قبل البدء بتعلم البرمجة , فتعلم الخوارزمية وطريقة تمثيلها وتجربة اكثر من مثال يسهل لك البداية في تعلم البرمجة عن طريق فهم الكود بصورة صحيحة , ولكن هذا لا يعني انها مهمة لدرجة انك لا تستطيع تعلم البرمجة من دونها .

أنا لا أجيد الرياضيات هل أستطيع تعلم البرمجة ؟ في الحقيقة سؤال لا يزال يطرح كثيراً وللتوضيح البرمجة بشكل عام لا تحتاج إلا لأساسيات الرياضيات (جمع-طرح-ضرب-قسمة) وبشكل بسيط وقليل الاستخدام ،وبعض الاحيان تحتاج الى استخدام الرياضيات واحياناً لا تستخدمها بحيث يعتمد على المشروع الخاص بك فمثلا في برمجة الالعاب قد تستخدم الرياضيات بكثرة وفي تطوير المواقع وتطبيقات الموبايل قد تستخدمها بقلة , ولتسهيل الامر عليك دون تعقيد يمكنك البدء في البرمجة حتى اذا كنت ضعيف جداً في الرياضيات فهناك اشخاص اكفاء في البرمجة وفاشلين في الرياضيات , فاستمر في تعلم .

ماهي اسهل واصعب لغة برمجة ؟

في الحقيقة لا يعتمد تعلمك للبرمجة على مطرح هكذا اسئلة وانما يعتمد على المجال الذي ترغب في السير فيه او المشروع الذي ترغب في عمله وبعد تحديد المجال او المشروع ستتعرف على اللغات التي يتم برمجة المشروع بها او تتعامل مع هكذا مجال , فمثلاً انا احب ان صمم موقعاً ففي هذه الحالة انت مجبر لان تبدء بتعلم لغات المواقع Html css js php mysql

Hello connect

وفي نهاية هذه المقالة سنوضح لكم كود لطباعة كلمة “Hello connect” باشهر لغات البرمجة والترميز :

kotlin

fun main(args: Array<String>) {
println(“Hello connect”)
}

java

class HelloWorldApp {
public static void main(String[] args) {
System.out.println(“Hello connect!”);
}
}

C#

using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“Hello, connect!”);
}
}

C++

#include <iostream>
int main()
{
std::cout << “Hello, connect!\n”;
return 0;
}

C

#include <stdio.h>
int main(void)
{
printf(“hello, connect\n”);
}

JavaScript

console.log(“Hello connect!”);

MATLAB

classdef hello
methods
function greet(this)
disp(‘Hello, connect’)
end
end
end

php

<?php
echo ‘Hello, connect!’;
?>

Python

print(“Hello connect”)

Swift

println(“Hello, connect!”)

Dart

main() {
print(‘Hello connect!’);
}

author avatar
Ahmad Hussain
See Full Bio
Tags: اسهل واصعب لغة برمجةالخوارزميات والبرمجةتعريف البرمجةكيف أتعلم البرمجةمستويات لغات البرمجة
Previous Post

كورسات هواوي مجانية في العديد من مجالات تكنولوجيا المعلومات بشهادة معتمدة

Next Post

كيف أختار المسار البرمجي المناسب لي

Ahmad Hussain

Ahmad Hussain

Next Post
كيف أختار المسار البرمجي المناسب لي

كيف أختار المسار البرمجي المناسب لي

Archive

Most commented

كل ما تريد معرفته في برنامج GNS3 وتثبيته واستخدامه

محاكي شبكات هواوي Huawei eNSP

محاكاة الشبكات من سيسكو باستخدام Cisco VIRL

GNS3 أفضل أم EVE-NG أم VIRL أم Packet Tracer

كيفية إضافة روترات وسويتشات سيسكو IOSv على GNS3 VM

كيفية إعداد وربط GNS3 VM ببرنامج GNS3

  • اخبار التكنولوجيا
  • إنترنت
  • شبكات الكمبيوتر
  • برمجة
  • أمن المعلومات
  • أنظمة التشغيل
  • كلاود
  • مكتبة كونكت
  • كورسات

Tags

5G CCNA pdf أبل أمن المعلومات أندرويد أنظمة التشغيل إنترنت اخبار التكنولوجيا الحوسبة السحابية الذكاء الاصطناعي بالعربي بايثون برمجة بروتوكول eigrp بروتوكول ospf تعليم لغة جافا ثغرة أمنية جوجل خدمات أمازون ويب دروس لغة جافا سيسكو شبكات الجيل الخامس شبكات الكمبيوتر شرح شرح لغة جافا فيروس كورونا فيسبوك فيس بوك كتاب شرح كلاود كوبونات يوديمي كوتلن كورس كورسات كورسات الشبكات كورسات يوديمي مجانا كورس سيسكو لينكس مايكروسوفت مراحل OSI موبايل هواوي واتساب ويندوز سيرفر

Recent News

كل ما تريد معرفته في برنامج GNS3 وتثبيته واستخدامه

كل ما تريد معرفته في برنامج GNS3 وتثبيته واستخدامه

2022-12-29
محاكي شبكات هواوي Huawei eNSP

محاكي شبكات هواوي Huawei eNSP

2022-12-23
No Result
View All Result
  • Home
    • Index (Default)
    • Index 1
    • Index 2
  • About Us
  • Get in Touch
  • Classes
    • Management
    • Teaching
    • Stories
    • Learning
    • Studying
    • Remedy
  • Pages
    • Category
    • Author
    • Article
    • Search