Hello World في جميع لغات البرمجه المختلفه


اليوم نعرض لكم "Hello, World!" بحميع لغات البرمجه

على الرغم من وجود برامج للإختبار اللغات منذ تطوير أجهزة الكمبيوتر القابله للبرمجه، إلا ان تقليد إستخدام عبارة
 "!Hello, World" كرسالة لإختبار اللغه إلا ان تلك الرساله في الأصل قيلت لأول مره في كتاب " The C Programming Language" يطبع البرنامج مثال لأول مره  في كتابة كود من ذلك الكتاب عبارة "hello, world" وكانت بدون أحرف كبيره او علامة التعجب، ثم بعد ذلك قامت مختبرات Bell Lobratories من قِبل Brian Kernighan، في مذكراته Programming in C: A Tutorial او بمعنى تعلم لغة الـC اول درس لها. و ايضًا إستخدام مزيج بين كلمتين Hello و كلمة World معًا في الأدب الحاسوبي في وقتٍ سابق، في درسٍ لـKernighan الا وهو "Introduction to the language B"

لغه C

تم تطوير C في الأصل بواسطة Dennis Ritchie بين عامي 1969 و 1973 في Bell Labs واستخدم لإعادة تنفيذ نظام التشغيل Unix. أصبحت منذ ذلك الحين واحدة من لغات البرمجة الأكثر استخدامًا والأكثر أنتشاراً على الإطلاق.
   #include <stdio.h>
int main(void)
{
 printf("Hello World! \n");
 return 0;
}

لغه D

لغة البرمجة D هي لغة برمجة كائنية التوجه  ومتعددة النماذج تم إنشاؤها من قبل Walter Bright of Digital Mars وتم إصدارها في عام 2001. على الرغم من أنها نشأت كإعادة هندسة لـ C ++ ، إلا أن D لغة مميزة ، حيث أعادت تصميم بعض ميزات C ++ الأساسية مع استلهامها من لغات أخرى ، لا سيما Java و Python و Ruby و C # و Eiffel.

   module helloworld;
import std.stdio;
void main(){
 writeln("Hello World!");
}

لغه Delphi

Embarcadero Delphi هي بيئة تطوير متكاملة (IDE) لتطبيقات سطح المكتب والجوال والويب ووحدة التحكم. يستخدم مترجمي دلفي لهجتهم الخاصة Pascal Object من Pascal ويقومون بإنشاء كود أصلي للعديد من المنصات: Windows (x86 و x64), OS X (32-bit فقط), iOS (32 و 64-bit), Android و Linux (64-bit Intel).
   
Program Hello_World;
{ &APPTYPE CONSOLE }
Begin
 WriteLn("Hello World!");
End.
   

لغه Boo

Boo هي لغة برمجة كائنية التوجه ، ومكتوبة بشكل ثابت ، كائنية التوجه تسعى إلى الاستفادة من دعم البنية الأساسية للغة العامة لتطبيقات يونيكود والتدويل والويب ، مع استخدام بناء جملة مستوحى من بيثون .

   
   import System.Drawing
import System.Windows.Forms
f= Form()
f.Controls.Add(Label(Text: "Hello World!"), Location: Point(40,30))
f.Controls.Add(Button(Text: "Ok"), Location: Point(50,50), Click: {Application.Exit()})
Application.Run(f)
   

لغة Groovy

Apache Groovy هي لغة برمجة موجهة للكائنات لمنصة Java. إنها لغة ديناميكية مع ميزات مشابهة لتلك الموجودة في Python و Ruby و Perl و Smalltalk. يمكن استخدامه كلغة برمجة نصية لـ Java Platform ، ويتم تجميعها ديناميكيًا إلى كود Java للجهاز الظاهري (JVM) ، ويتفاعل مع رموز Java ومكتبات أخرى. يستخدم Groovy بناء جملة يشبه Java مجعد. تعتبر معظم تعليمات Java البرمجية أيضًا صالحة بشكل صحيح بناءً على ذلك ، على الرغم من أن الدلالات قد تكون مختلفة.
   
  println "Hello World!"
   

لغة Perl

بيرل هي عائلة من لغات البرمجة الديناميكية عالية المستوى والأغراض العامة والمترجمة. تتضمن اللغات في هذه العائلة Perl 5 و Perl 6.
على الرغم من أن Perl ليس اختصارًا رسميًا ، إلا أن هناك العديد من الاختصارات المستخدمة ، بما في ذلك "لغة الاستخراج العملي ولغة التقارير". تم تطوير Perl في الأصل بواسطة Larry Wall عام 1987 كلغة برمجة للأغراض العامة لـ UNIX لتسهيل معالجة التقارير.
   
  print "Hello, World!";
   

لغة Java

Java هي لغة برمجة كمبيوتر للأغراض العامة، كائنية التوجه ، ومصممة بشكل خاص بحيث يكون لديها أقل عدد ممكن من تبعيات التنفيذ. الغرض منه هو السماح لمطوري التطبيقات "الكتابة مرة واحدة ، وتشغيلها في أي مكان" (WORA) ، مما يعني أنه يمكن تشغيل تعليمة Java البرمجية المترجمة على جميع الأنظمة الأساسية التي تدعم Java دون الحاجة إلى إعادة التجميع.

   
  public class HelloWorld {
    public static void main(String[] args) { 
        System.out.println("Hello World!");
    }
}   

لغة C++

تم تصميم C ++ بانحياز تجاه برمجة النظام والأنظمة المضمنة  ، مع الأداء والكفاءة والمرونة في الاستخدام كتصميم مميز. تم العثور على C ++ أيضًا في العديد من السياقات الأخرى ، حيث تتمثل نقاط القوة الرئيسية في البنية الأساسية للبرامج والتطبيقات  ، بما في ذلك تطبيقات سطح المكتب والخوادم (مثل التجارة الإلكترونية أو البحث على الويب أو خوادم SQL) والتطبيقات الحساسة للأداء (مثل مفاتيح الهاتف أو تحقيقات الفضاء)

   
#include 

using namespace std;
int main()
{
    cout << "Hello World!";
    return 0;
}

لغه Lua

صُمم Lua في الأصل عام 1993 كلغة لتوسيع نطاق تطبيقات البرامج لتلبية الطلب المتزايد على التخصيص في ذلك الوقت. توفير التسهيلات الأساسية لمعظم لغات البرمجة الإجرائية ، ولكن لم يتم تضمين ميزات أكثر تعقيدًا أو خاصة بمجال معين ؛ بدلاً من ذلك ، فقد تضمنت آليات لتوسيع اللغة ، مما يسمح للمبرمجين بتنفيذ هذه الميزات.

   
local msg_1 = "Hello"
local msg_2 = "World !"
print(msg_1,msg_2)
   

لغة Ruby

وفقا لمبدعها ، تأثرت لغة روبي بلغه بيرل  ، وهو يدعم نماذج البرمجة الممتعدده .

   
puts 'Hello World!';
   

 لغة Javascript

JavaScript هي لغة برمجة تضيف التفاعل إلى موقع الويب الخاص بك (على سبيل المثال: الألعاب والاستجابات عند الضغط على الأزرار أو إدخال البيانات في النماذج والتصميم الديناميكي والرسوم المتحركة). 
   
Document.writeln("Hello World!");
        //or
console.log("Hello World!");
   

لغة Objective-C

Objective-C هي لغة برمجة للأغراض العامة وتهدف إلى إضافة رسائل على غرار Smalltalk إلى لغة البرمجة C. كانت لغة البرمجة الرئيسية التي تستخدمها Apple لأنظمة التشغيل OS X و iOS ، وواجهة برمجة التطبيقات الخاصة بها (APIs) Cocoa و Cocoa Touch قبل تقديم Swift.

   
#import 

int main (int argc, const char * argv[])
{ 
    NSLog (@"Hello, World!"); 
    return 0;
}
   

لغة TCL

Tcl (لغة أداة الأوامر ) هي لغة برمجة / برمجة ديناميكية تستند إلى مفاهيم  Lisp و C و Unix. يمكن استخدامه بشكل تفاعلي ، أو عن طريق تشغيل البرامج النصية التي يمكن أن تستخدم نظام الحزم للهيكله ، مما يسمح بالقيام بالكثير باستخدام الكود الصغير. Tcl متاح لنظامي التشغيل Linux و Windows و Mac OS X ، وكذلك الأنظمة الأساسية الأخرى ، كبرنامج مفتوح المصدر بموجب ترخيص يشبه BSD ، أو كثنائيات تم إنشاؤها مسبقًا.

   
puts "Hello World!"

   

لغة Autolt

AutoIt هي لغة  مجانية لـ Microsoft Windows. في الإصدار الأول له ، كان البرنامج يهدف في المقام الأول إلى إنشاء برامج نصية للتشغيل الآلي (تسمى أحيانًا  Macros) لبرامج Microsoft Windows ولكنها نمات منذ ذلك الحين لتشمل تحسينات في كل من تصميم لغة البرمجة والوظائف العامة.


   
msgbox(0,"","Hello World!")
   

لغة Basic

BASIC (اختصار Beginner’s All-purpose Symbolic Instruction Code) هي عبارة عن مجموعة من لغات البرمجة عالية المستوى والأغراض العامة التي تؤكد فلسفة التصميم على سهولة الاستخدام. في عام 1964 ، صمم جون جي. كيمني وتوماس كورتز لغة BASIC الأصلية في كلية دارتموث في نيو هامبشاير بالولايات المتحدة.

   
10 PRINT "Hello World!"
   

لغة Python

بايثون (بالإنجليزية: Python) هي لغة برمجة، من لغات المستوى العالي، تتميز ببساطة كتابتها وقراءتها، سهلة التعلم، تستخدم أسلوب البرمجة الكائنية، مفتوحة المصدر، وقابلة للتطوير. تعتبر لغة بايثون لغة تفسيرية، متعددة الأغراض وتستخدم بشكل واسع في العديد من المجالات، كبناء البرامج المستقلة باستخدام الواجهات الرسومية المعروفة وفي عمل برامج الويب، بالإضافة إلى استخدامها كلغة برمجة نصية للتحكم في أداء بعض من أشهر البرامج المعروفة أو في بناء برامج ملحقة لها.

   
import sys
sys.stdout.write("Hello World!");   

لغة R

R هي لغة برمجة وبيئة برمجية مفتوحة المصدر للحوسبة والرسومات الإحصائية التي تدعمها R Foundation للحوسبة الإحصائية. تُستخدم لغة البحث (R) على نطاق واسع بين الإحصائيين لتطوير البرمجيات الإحصائية وتحليل البيانات


   
 cat ("Hello, world!")

لغة ASP.NET

ASP.NET هو إطار تطبيق ويب مفتوح المصدر من جانب الخادم مصمم لتطوير الويب لإنتاج صفحات ويب ديناميكية. تم تطويره بواسطة Microsoft للسماح للمبرمجين بإنشاء مواقع ويب ديناميكية وتطبيقات الويب وخدمات الويب.

   
using System;    
public class Program
{
   public static void Main()
   {
     Console.WriteLine("Hello World!");
   }
} 

لغة SQL 

SQL (Structured Query Language) هي لغة تستخدم في البرمجة ومصممة لإدارة البيانات الموجودة في نظام إدارة قواعد البيانات.

   
 SELECT "Hello World!" AS message;

Brainfuck Language😁

Brainfuck هي لغة برمجة باطنية تم إنشاؤها في عام 1993 بواسطة Urban Müller ، وهي مشهورة بأدائها البسيط. تتكون اللغة من ثمانية أوامر بسيطة فقط ومؤشر تعليمي. على الرغم من إستخدامها لنمط Turingبالكامل ، إلا أنها ليست مخصصه للاستخدام العملي ، ولكن للتحدي وتسلية المبرمجين. Brainfuck تتطلب ببساطة لتقسيم الأوامر إلى سطور لكي تحولها إلى خطوات.

  
 
 ++++++[>++++++++++++<->.
>++++++++++[>++++++++++<->+.
+++++++.
.
+++.
>++++[>+++++++++++<->.
<+++[>----<->.
<<<<<+++[>+++++<->.
>>.
+++.
------.
--------.
>>+.


يبدوا الأمر مضحك بعض الشئ ولكن هذا حقيقي

اليك بعض اللغات الأخري

لغة PHP

   
echo 'Hello World';
 

لغة C#

   
using System;

public class HelloWorld
{
   public static void Main()
   {
      Console.WriteLine("Hello World!");
   }
} 

لغة Go

   
package main

import "fmt"

func main() {
 fmt.Println("Hello World!")
}
 

لغة Shell

   
#!/bin/bash
echo "Hello World!"
 

لغة Scala

   
object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello World!")
  }
 

لغة Swift

   
print("Hello World!")
 

لغة TypeScript

   
class HelloWorld {
    constructor(public greeting: string) { }
    sayHello() {
        return "" + this.greeting + "";
    }
};

var greeter = new HelloWorld("Hello World!");
console.log(greeter.greet());

شكراُ لأنك كنت معنا 💓

ماهو الفرق بين الـNative Apps و الـWeb Apps و الـHybrid Apps



لا تزال هناك العديد من المفاهيم الخاطئة المحيطة بتطوير التطبيقات، خاصةً تطبيقات الجوال. بينما ننتقل إلى عالم المحمول أولاً، تواجه العديد من الشركات التي تفكر في إنشاء تطبيقات الأجهزة المحمولة، تحديًا مشتركًا- ما الذي يحب علينا إختياره ؟ هل ينبغي لنا إنشاء تطبيق Native ام Web ام Hybrid لكن الإجابة تعتمد على اولويات الشركة التي تديرها العديد من العوامل مثل:
  • مدى سرعة التطبيق
  • إذا كنت تستطيع تطوير أي جزء من ذلك التطبيق في المنزل
  • ما تحاول الوصول إليه بهذا التطبيق
  • ميزانيتك في تطوير التطبيق
  • ما هي الميزات التي تحتاج إليها
 لمساعدتك في اتخاذ القرار، دعنا نلقي نظرة على الإختلافات بين تطبيقات الـNative و الـWeb و الـhybrid، بالإضافة إلى مزايا وعيوب كلٍ منها حتى تتمكن من فهم النهج الذي سيكون نهجك المناسب لفكرة التطبيق.

Native apps

الـNative apps هي ما يخطر على بالنا عندما نفكر في تطبيقات الأجهزة المحمولة و يتم تنزيلها من متجر التطبيقات Google Play. ما يميز هذا النوع من التطبيقات عن انواع التطبيقات الأخرى هو إنها مطورة من أحل اجهزة معينة. على سبيل المثال، تتم كتابة تطبيقات الـAndroid بـJava وتطبيقات الـiPhone  بـObjective-c

تتمثل ميزة إختيار التطبيقات الـNative في إنه الأسرع و الأكثر ثقه عندما يتعلم الأمر بتجربة المستخدم. يمكن لذلك النوع من التطبيقات الأصلية ايضًا التفاعل مع جميع ميزات نظام التشغيل بالجهاز، مثلأ: الميكروفون و الكاميرا و ثوائم جهات الإتصال، إلخ.
ومع ذلك: يلزم توفير ميزانية أكبر إذا كنت تريد إنشاء تطبيقك لأنظمة تشغيل متعدد مثل أجهزة الـiPhone و الـAndroid و الحفاظ على تحديث تطبيقك من نوع الـNative الخاص بك.

Web apps

 تطبيقات الويب هي في الأساس مواقع ويب لها تفاعل يشبه تطبيق الجول. تعمل تطبيقات الويب في متصفحات متعددة مثل Safari و Chrome و تتم كتابها بلغة الـHTML5 و/ أو Javascript. إذا كانت إنطلاقتك بميزانية ولا تتطلب وظائف معقدة او الوصول إلى ميزات لنظام التشغيل، فإن بناء تطبيق للويل يمكن ان يكون الإختيار الأقل تكلفة لك.

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

Hybrid Apps

 التطبيق الـHybrid او الترجمه الحرفية لها التطبيقات المختلطة، يجمع بين كل من الـNative Apps و تطبيقات الويب. يمكن توزيع التطبيقات المختلطه تلك من خلال متاجر التطبيقات تمامًا مثل الـNative Apps، ويمكن ان تتميز ميزات نظام التشغيل ايضًا. مثل تطبيقات الويب يمكن لتلك التطبيقات المختلطة ايضًا استخدام تقنيات الويب المتوافقة مع بعضها البعض.

الـHybrid Apps عادةً ما تكون اسهل وأسرع من التطوير من التطبيقات الـNative. كما تتطلب صيانة أفضل. من ناحية آخرى تعتمد سرعة التطبيق المختلط على سرعة المتصفع الخاص بالمستخم؛ هذا يعني ان التطبيقات المختلطه لن تعمل أبدًا بالسرعه التي يتم بها تشغيل التطبيق الـNative.

تتمثل ميزة التطبيقات المختلطه في إنه يمكنك إنشاؤها على قاعدة واحدة. مما يتيح لك إضافة وظائف جديده إلى إصدارات متعددة من التطبيق الخاص بك. مع التطبيق الـNative ستحتاج إلى تكرر كل ميزة جديده تريد تقديمها كل منصة.

أياً من التطبيقات هذه ستكون مثمره لعملك ؟

مع الأخذ في الاعتبار هدف إنشاء التطبيق ، والميزانية اللازمة لتطوير التطبيق ، والميزات المطلوبة ، والتطوير السريع ، ونوع العملاء ، ومنطقة التغطية ، فإن الاختيار بين Hybrid App و Native App يعد تحديًا كما هو الحال بالنسبة لارتداء معطف واقٍ من المطر أو حمل مظلة ، أثناء المطر. أنت تعرف أن كليهما سوف يحميك من البلل  ، عندما تحكم على تطبيق جوال مختلط وتطبيق جوال أصلي لعملك ، فأنت بحاجة إلى مراعاة ما يلي:

الأداء: قد تؤدي التطبيقات الهجينه إلى فقدان الأداء بسبب الطبقة الإضافية بين النظام الأساسي للجوال وكود المصدر ، لكن التطبيقات الأصليه تظهر السلاسه في التنفيذ حيث يتم البرمج باستخدام لغة برمجة مختلفة ، خاصةً لأن النظام الأساسي المنفصل دقيق لكل نظام تشغيل . على سبيل المثال ، يتم استخدام Swift أو Objective-C لكتابة تطبيقات iOS الأصلية ، ويستخدم Java لكتابة تطبيقات Android الأصلية ، و C # بالنسبة لمعظم تطبيقات Windows Phone. يُعد ترحيل تطبيق Facebook  من HTML5 إلى react native  مثالًا آخر على القرار الذي ستعمل به.

التخصيص: تتميز تطبيقات الجوال الأصلية بميزات التخصيص وفقًا لأحجام الشاشة المختلفة المتوفرة في السوق. تتضمن بعض أمثلة التطبيقات الأصلية:
  • Pokemon GO
  • Whatsapp
  • TechCrunch
  • Pinterest
الوقت: الأحجار الكريمة الأصلية تحتاج إلى وقت لتطويرها وهذا هو السبب في أنها غير عادية. تحتاج التطبيقات الأصلية كونها واحدة من هذه الأحجار الكريمة إلى مزيد من الوقت لتطوير بالمقارنة مع التطبيق المختلط حيث يستغرق تطوير وتنفيذ تصاميم منفصلة لكل جهاز وقتًا.

قيمة التطوير: مع وجود فرق  في منصات التطوير المتعددة ، ترتفع تكلفة تطوير التطبيق الأصلي بينما تحدث تكلفة تطبيقات الهواتف المحمولة المختلطة مرة واحدة فقط لجميع الأنظمة.

الصيانة: تحتاج التطبيقات الأصلية إلى صيانة مستمرة  في حين أن التطبيقات المختلطة لأ تحتاج صيانه مستمره، لأن تطبيقات الويب لا تتطلب الكثير من الاهتمام حيث يمكن تحديث محتواها عدة مرات حسب الحاجة.

تجربة المستخدم: كما نعلم جميعًا أنه لا يمكن عبور النهر جالسًا على متن قاربين ، فإن الأمر مماثل بالنسبة للتطبيقات الهجينة مثل Instagram و Untappd و Uber و Evernote. إذا كان هناك تركيز أكبر على مستخدمي Android ، فسيحصل مستخدمو iOS على تجارب غير مواتية ، بينما يحصل المستخدمون الذين لديهم تطبيقات جوال أصلية على تجارب  ودية فيما يتعلق بالتأثيرات العميقة والتمرير والرسوم المتحركة وغيرها.

حماية البيانات وأمانها: يحتوي تطوير التطبيق الأصلي فقط على موارد الأجهزة  المطلوبة لحماية بياناتك وتأمينها.

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

السرعة: الذاكرة ،البطاريه وكل شئ على وجه التحديد في التطبيقات الأصلية. تم تحسين هذه التطبيقات وفقًا لنظام التشغيل Android و iOS مما يجعلها تعمل أحسن من التطبيقات الأخرى من حيث السرعة.

لذا أي واحده يجب ان تختارها لبدء تشغيل مشروعك؟

من أجل اتخاذ الخيار الصحيح/ من المهم فهم كل الإختلافات في كل خيار حتى تتمكن من التوجه في الإتجاه الصحيح. لكل من التطبيقات الـNative و الـWeb  و الـHybrid نقاط قوة و نقاط ضعف خاصة بها، لذا يعتمد قرارك النهائي بالكامل تقريبًا على إحتياجك لبدء التشغيل والعمل.

Python : ما هي بايثون وفي ماذا تستخدم



من منا لم يسمع بلغه بايثون ؟ هذه اللغه التي أكتسحت العالم بسبب بساطتها وسهوله فهمها.ولكن ماذا يمكنني أن أفعل بلغه بايثون ؟
هذا ما سنتطرق اليه في موضوع اليوم عن Python : ما هي بايثون وفي ماذا تستخدم.

تتلخص أستخدمات بايثون في الثلاث مجالات التاليه:
  • تطوير الويب 
  • علم البيانات ويشمل تعليم الالة وتحليل البيانات الضخمة وعرضها. 
  • Scripting

ما هي لغه البرمجه بايثون؟

بايثون (بالإنجليزية: Python) هي لغة برمجة، من لغات المستوى العالي، تتميز ببساطة كتابتها وقراءتها، سهلة التعلم، تستخدم أسلوب البرمجة الكائنية، مفتوحة المصدر، وقابلة للتطوير. تعتبر لغة بايثون لغة تفسيرية، متعددة الأغراض وتستخدم بشكل واسع في العديد من المجالات، كبناء البرامج المستقلة باستخدام الواجهات الرسومية المعروفة وفي عمل برامج الويب، بالإضافة إلى استخدامها كلغة برمجة نصية للتحكم في أداء بعض من أشهر البرامج المعروفة أو في بناء برامج ملحقة لها. وبشكل عام يمكن استخدام بايثون لبرمجة البرامج البسيطة للمبتدئين، ولإنجاز المشاريع الضخمة كأي لغة برمجية أخرى في نفس الوقت. غالباً ما يُنصح المبتدؤون في ميدان البرمجة بتعلم هذه اللغة لأنها من بين أسرع اللغات البرمجية تعلماً. نشأت بايثون في مركز CWI (مركز العلوم والحاسب الآلي) بأمستردام على يد جايدو ڤان روسم في أواخر الثمانينات من القرن المنصرم، وكان أول إعلان عنها في عام 1991. تم كتابة نواة اللغة بلغة سي. أطلق ڤان روسم الاسم "بايثون" على لغته تعبيرًا عن إعجابه بفِرقَة مسرحية هزلية شهيرة من بريطانيا، كانت تطلق على نفسها الاسم مونتي بايثون. تتميز بايثون بمجتمعها النشط، كما أن لها الكثير من المكتبات البرمجية ذات الأغراض الخاصة والتي برمجها أشخاص من مجتمع هذه اللغة، مثلاً مكتبة باي جايم التي توفر مجموعة من الوظائف من أجل برمجة الألعاب. ويمكن لبايثون التعامل مع العديد من أنواع قواعد البيانات مثل ماي إس كيو إل وغيره.

أستخدامات بايثون

لطوير الويب

في الأونه الأخير انتشر عدد لأ بائس به من أطارات العمل التي تستخدم Python في تطوير الويب مثل Django وايضاً Flask CherryPy و Pyramid و Grok  و BlueBream والكثير من إطارات العمل .

تساعد إطارات العمل هذه في تطوير الواجهات الخلفيه وأشهرهم Django و Flask هذه الحزم هي الأفضل والأكثر شعبيه بين المبتدئين.

دعنا نشرح الفروقات بين Django و Flask !

يتيميز Flask بالمرونه والبساطه أيضاً ، حيث أنه يوفر لك لوحة تحكم وواجهات قاعدة البيانات و ما يسمي بORM object-relational mapping وكذلك دليلا هيكليا للتطبيقات والمشاريع الخاصة بك.

ولذلك:

أختر Flask أذا كنت تطمح الي التجربه وأيضاً التعلم .وأيضا يتميز بتحكم كامل بالعناصر التي تستخدمها ك قواعد البيانات 

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

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

وايضًا إذا كنت تبحث عن تطوير للتطبيقات و تجعلها تعمل بطريقة سهلة وبسيطة، فإن Django يتيح لك ذلك.

علم البيانات (Automated learning and analysis of huge data and presentation)

علم البيانات او بالأحرى، التعلم الآلي وتحليل جميع البيانات الضخمة ولكن في البداية قبل ان ابدأ في الإستخدامات دعني اعرفك ما هو علم البيانات او التعلم الآلي.

يقوم التعلم الآلي على الخوارزميات حيث تكتشف تلقائيًا نمط محدد في البيانات التي تقوم بإدخالها.

دعني أذكر لك مثالاً على ذلك، لنفترض انك ترغب في ان يقوم البرنامج بتحديد ما ذا كانت الصورة المُرسلة إليه تحتوى على كرة ام تحتوي على مضرب، ففي تلك الحالات ستقوم بإعطاء البرنامج 1000 صورة على سبيل المثال تحتوي على كرة و 1000 صوره أخرى تحتوي على مضرب، فإن البرنامج سيتعلم الفرق بين كلٍ من الكرة و المضرب، فإذا جمب بإعطائه صورة مختلفة تمامًا عن ذي قبل فإنه سكون قادرًا على التعرف على محتواها.

هذه العملية شبيهة بالطريقة التي يقوم طفلك بتعلم أشياء كثيرة.

 خوارزميات التعليم الالي تعمل بنفس الطريقه مثل نظام الاقترحات (recommendation )
الذي تتبناه أشهر المواقع مثل Youtube و Amazon و Nitflix وايضاً نظم التعرف علي الصوت أو الوجه.

بايثون وبرامج  الـ Machine Learning

توفر بايثون الكثير من المكتبات وإطارات العمل الخاصه بال Machine Learning .أشهرها علي الأطلاق Scikit-learn وأيضاً TensorFlow .

  • يحتوي scikit-learn علي أشهر الخورزميات في  Machine Learning.
  • تعد TensorFlow أحد المكتبات منخفضه المستوي التي تتيح أنشاء خوارزميات في الـ Machine Learning.

أيضا scikit-learn مفضله جداً لدي المطورين المبتدئين .

البايثون في تحليل وعرض البيانات

بسبب الاسباب التي سنتطرق لها في السطور القليله القادمه ،تعد Matplotlib احد أشهر مكتبات تحليل البيانات وعرضها في بايثون وهي بطبيعه الحال المفضله لدي المبتدئين
لانها من السهل فهمها والتعامل معها و الكثير من المكتبات تعتمد علي Matplotlib مثل مكتبة seaborn .

Scripting

Scripting يتمثل في أتمام مهام صغيره وبسيطه عن طريق كتابة برامج صغيره بأستخدام بايثون،ومن أقوي من بايثون فمثل هذه المهام؟لأن الـ Syntax أو بناء الأكواد الخاص بـ بايثون بسيط وسهل جداً كمان أن بايثون مناسبه جداً في بناء التطبيقات الصغيره وأختبارها.

هل من الممكن أستخدام بايثون في تطوير الالعاب؟

نعم من الممكن أستخدام بايثون في تطوير الالعاب بأستعمال مكتبه PyGame ،مع العلم أنها ليست محرك العاب قوي ويعتمد عليه مثل Unity، ولكن علي الاقل يمكن أستخدام PyGames في تطوير الالعاب البسيطه .
حين بتعلق الامربطوير الألعاب فأن Unity هو الأفضل ،لأنه ببساطه يتيح لك محرك الالعاب Unity أنشاء العاب متوافقه مع أشهر المنصات مثل Windows , Mac,iOS,Android.

بايثون و تطبيقات سطح المكتب
من الممكن تطوير تطبيقات سطح المكتب بأستخدام مكتبه Tkinter .مع العللم أنها ليست أفضل خيار لذلك
حين يتعلق الامر بانشاء تطبيق لسطح المكتب فأن  Java و ++C و #C لهم نصيب الأسد,مع الاخذ في الأعتبار Javascript في الأونه الأخيره توجهت  بعض الشركات إلي أستخدام Javascript في تطوير تطبيقات سطح المكتب.

شكراً لأنك كن هنا 💖

شاركنا رأيك في قسم التعليقات بالأسفل👇

ما هو الـ API? وماذا يعني!

ما هو الـ API?  وماذا يعني!

API هي الاسم المختصر لـ Application Programming Interface وبالعربيه واجهة برمجة التطبيقات، وهي وسيط برمجي يسمح للتطبيقين بالتحدث إلى بعضهما البعض. في كل مرة تستخدم فيها تطبيقًا مثل Facebook أو ترسل رسالة فورية أو تتحقق من حالة الطقس على هاتفك ، تستخدم API.

ما هو مثال على API؟

عند استخدام تطبيق على هاتفك المحمول ، يتصل التطبيق بالإنترنت ويرسل البيانات إلى الخادم. يقوم الخادم بعد ذلك باسترداد تلك البيانات وتفسيرها وتنفيذ الإجراءات اللازمة وإرسالها مرة أخرى إلى هاتفك. ثم يفسر التطبيق تلك البيانات ويقدم لك المعلومات التي تريدها بطريقة قابلة للقراءة. هذا هو API - كل هذا يحدث عبر API.

لشرح هذا بشكل أفضل ، دعونا نأخذ مثالًا مألوفًا.

تخيل أنك جالس على طاولة في مطعم به قائمة من الخيارات للطلب منها. المطبخ هو جزء من "النظام" الذي سيعد طلبك. ما هو مفقود ؟ هو الرابط الحاسم لتوصيل طلبك إلى المطبخ وتقديم طعامك إلى طاولتك. هذا هو المكان الذي يأتي النادل أو API  -  يأخذ الطلب منك ويقول للمطبخ او النظام - ما يجب القيام به. ثم يسلم النادل الرد إليك ؛ في هذه الحالة ، ها هو غدائك.


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

ولكن ، ماذا لو كنت لا تستخدم موقع شركة الطيران  - ماذا لو كنت تستخدم خدمة سفر عبر الإنترنت ، مثل Kayak أو Expedia ، والتي تجمع المعلومات من عدد من قواعد بيانات شركات الطيران؟

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

ما يوفره API أيضًا هو طبقة من الأمان
لا تتعرض بيانات هاتفك تمامًا أبدًا للخادم ، وبالمثل ، لا يتم أبدًا عرض الخادم تمامًا لهاتفك. بدلاً من ذلك ، يتصل كل منها بحزم صغيرة من البيانات ، يشارك فقط ما هو ضروري - مثل طلب الإخراج. أنت تخبر المطعم بما ترغب في تناوله ، وهي تخبرك بما يحتاجون إليه في المقابل ، ثم تحصل في النهاية على وجبتك.

أصبحت واجهات برمجة التطبيقات (APIs) ذات قيمة كبيرة بحيث تشكل جزءًا كبيرًا من إيرادات العديد من  الشركات الكبرى مثل Google و eBay و Salesforce.com و Amazon و Expedia ليست سوى عدد قليل من الشركات التي تجني الأموال من واجهات برمجة التطبيقات الخاصة بها. ما يشير إليه "اقتصاد واجهة برمجة التطبيقات" و هو سوق واجهات برمجة التطبيقات.

واجهة برمجة التطبيقات الحديثة

على مر السنين ، وصف "واجهة برمجة التطبيقات" بنوع من أنواع واجهة الاتصال العامة للتطبيق. ولكن في الآونة الأخيرة ، اكتسبت واجهة برمجة التطبيقات الحديثة بعض الخصائص التي تجعلها ذات قيمة ومفيدة للغاية:


  • تلتزم واجهات برمجة التطبيقات (APIs) الحديثة بمعايير ( HTTP و REST) ، التي تكون سهلة التطوير ويمكن الوصول إليها بسهولة وفهمها على نطاق واسع
  • يتم التعامل معها علي انه منتج أكثر من مجرد كود برمجي. تم تصميمها للاستهلاك لجمهور معين (مثل مطوري الأجهزة المحمولة) ، وتم توثيقها وإصدارها بطريقة يمكن أن يكون لدى المستخدمين توقعات معينة بشأن صيانتها.
  • لأنهم أكثر توحيدًا، لديهم أقوى إنضباط للأمن و التحكم، و كذلك رصدها و إدارتها للأداء او المستوى
  • مثل أي جزء آخر من البرامج المُنتجة، فإن واجهة برمجة التطبيقات الحديثه لها دورة لتطويير البرمجيات تُسمى (SDLC) الخاصه بها تتمثبل في تصميم واختبار وبتاء و إدارة و إصدار الإصدارات. ايضًا، واجهات برمجة التبيطقات الحديثه موثقه جيداً للإستهلاك والنسخ.

إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

إليك أفضل عشر لغات برمجة لتعلمها في عام 2019

إخلاء المسئولية

المعلومات الواردة في هذا المقال هي رأيي الشخصي وأبحاثه. يمكنك مشاركة رأيك في قسم التعليقات في نهاية هذه المقالة.
ما هي لغة البرمجة التي يجب أن أتعلمها أولاً؟

مع تقدمنا حتى عام 2019 ، حان الوقت للتفكير في أولويات التعلم الأولى لعام 2019. قبل البدء في التحدث عن لغات البرمجة ، اسمحوا لي أن أوضح:

  •      أنا لا أجادل بأن أي لغة أفضل بشكل موضوعي من أي لغة أخرى.
  •      أوافق على أن المطورين يجب أن يتعلموا في النهاية أكثر من لغة واحدة.

هيا بنا نتعمق في لغة البرمجة الأولى:

1. بايثون

بايثون هي لغة برمجة متنامية . ستجدها في تطبيقات الويب وتطبيقات سطح المكتب وخوادم الشبكة والتعلم الآلي وأدوات الوسائط وغير ذلك الكثير.

قد تجد بايثون مفيدا لتطوير الواجهات الخلفيه و برمجة التطبيقات ، إذا كنت تعمل في مجال الأمان أو هندسة . علي اساس إطار تطوير الويب المستند إلى Python مثل Django و Pyramid و Turbo Gear المزيد والمزيد .

في النهاية ، يعد اختيار Python جيدًا للمطورين المبتدئين لتعلم لغة Python ، حيث إنها لغة عالية المستوى وسهلة القراءة و سهلة الفهم . احصائيات بايثون وفقا لموقع PYPL.


إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

2. جافا سكريبت

جافا سكريبت هي اللغة الأكثر شعبية وفقًا لـ StackOverFlow. أكثر من نصف المطورين يستخدمون JavaScript. لأنها من أهم اللغات لتطوير الواجهة الأمامية وتزايدت أهميتها في التطوير الخلفي بشكل ملحوظ في الأون الأخيره. وهي تتوسع بسرعة في مجالات مثل تطوير الألعاب وإنترنت الأشياء (IOT). إحصائيات JavaScript وفقًا لاستطلاع Stack OverFlow لعام 2018.


إليك أفضل 10 لغات برمجة لتعلمها في عام 2019



يتيح لك JavaScript إنشاء مواقع ويب تفاعلية ، وهي حقًا تقنية أساسية لأدوات الويب جنبًا إلى جنب مع HTML و CSS ،  من الضروري اذا دخلت في مجال تطوير الويب ان تتعلم هذه اللغه.

 3. Rust

إذا لم تكن قد سمعت عنها من قبل ، فهي لغة برمجة جديدة على مستوى النظام تعمل على تغيير طريقة تفكيرنا في البرمجة. جاءت Rust في المرتبة الأولى في استطلاع 2018 Stack OverFlow Developer للغات البرمجه الأكثر شعبية والمطلوبة.
إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

 بالنسبه للمبدائين ستكون Rust من الصعب عليهم فهمها بسهلوله لأنها موجه للمبرمجين الاكثر خبره. ومن المحتمل جدًا أن يكون الطلب على الصدأ في السنوات القليلة المقبلة كبيرًا ...

4. Go

إليك أفضل 10 لغات برمجة لتعلمها في عام 2019
Go هي لغة مثل بايثون. نظرًا لأنه تم تطويره من قِبل Google ، وهم أيضًا محبو بايثون ، فقد توصلوا إلى لغة بسيطة في الكتابة مثل بيثون ولكنها أكثر فعالية مثل C ++. توفر Go ميزات أفضل لكتابة البرامج المتزامنة. في عصر كتابة تطبيقات متعددة النواة ، يعالج تطبيق Go الحاجة بشكل جيد وأيضًا يوجد دعم مدمج للتوافق.
تجمع بين أفضل جوانب البرمجة الوظيفية والموجهة ، بالإضافة إلى مجموعة قيمة من أدوات التطوير المدمجة. بعض المشاريع الجيدة والمشهورة تستخدمها ، على سبيل المثال ،  kubernetes و Ethereum Cryptozoic  يعتمدون على Go.

  5. Swift


إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

إذا كنت ترغب في الدخول في تطوير تطبيقات IOS  ، فيجب أن تفكر في Swift بالتأكيد كمسار وظيفي عالي الأجر أيضاً. Swift هي لغة برمجه جديده نسبيًا تم إصدارها في عام 2014. إنها  لغة جديدة من Apple لبرمجة تطبيقات IOS و Mac-OS الأصلية. كما أن Sprite-Kit يجعل إنشاء ألعاب ثنائية الأبعاد أسهل. يعتبر تحسناً من حيث قابليتها للاستخدام والأداء بالمقارنة مع Objective-C.

 Swift هي لغة مكتوبة بشكل ثابت ، مما يعني أن XCode يتحقق من الخطأ لديك ، لذلك من السهل تتبع أخطائك ، كما أنه يعمل بشكل أسرع. بالمناسبة ، XCode هو محرر لغة Swift.

 6. Kotlin



تعتبر Kotlin هي اللغة الثانية الأكثر شهرة والأكثر رغبة في البرمجة في استطلاع 2018 StackOverFlow. تم تطوير لغة Kotlin في الأصل بواسطة شركه JetBrains. إنه قابل للتشغيل بشكل كامل مع Java ولا تأتي بأي قيود. يمكن استخدامه في كل مكان تقريبًا ، يتم استخدام Java اليوم: لتطوير server-side وتطبيقات Android والمزيد.

يستخدم مطور Android أيضًا لغة Kotlin من وقت الي أخر ما وحبوها أكثر من غيرها. في عام 2017 ، أعلنت Google أن Kotlin هي اللغة الرسمية لتطوير Android. تعمل Kotlin بشكل رائع مع جميع مكتبات وأطر Java الحالية وتعمل بنفس مستوى الأداء مثل Java.

7. C ++

إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

 

تعد لغة C ++ لغة تتسم بالكفاءة والمرونة العالية ، وقد تم إنشاؤها لأول مرة في عام 1985. وقد ظل الطلب عليها مرتفعًا بسبب الأداء العالي والموثوقية ومجموعة متنوعة من السياقات التي يمكنك استخدامها فيها. يعد Microsoft Windows و Google Chrome من أشهر المشاريع المعروفة التي تم إنشاؤها باستخدام C ++ ، وأيضاً تمت كتابة معظم موقع أمازون باللغة C ++. 

ينطوي العمل في C ++ على تطوير تطبيقات سطح المكتب ، وخاصة المهام التي تتطلب الكثير من الأداء. ستجد C ++ في مجموعة واسعة من التطبيقات - من تطبيق GUI إلى رسومات ثلاثية الأبعاد للألعاب إلى وايضاً حل المسائل الرياضيه المعقده.
 

8. TypeScript

إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

TypeScript هي لغة برمجة مصممة لتطوير تطبيقات JavaScript على نطاق واسع. في عام 2018 ،  TypeScript شملت مجتمع مطور أوسع. هذه اللغة ليست فقط لمطوّر الواجهة الأمامية ، فهي تُستخدم الآن  للواجهات الخلفية أيضاً ، وإنشاء تطبيقات متنقلة مختلطة ، وأيضا للتخزين السحابي ، وتصميم الشبكات العصبية ، وحتى التحكم في الروبوتات. 

ليس من المستغرب أن TypeScript أصبح الآن أساسيًا لأطر JavaScript الأساسية - حتى أن Google قررت استخدامه في Angular.

9. جافا

إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

تعتبر Java أكثر لغات البرمجة شيوعًا التي سمعتها على الإطلاق. إنها لغة ابتكرها جيمس جوسلينج العظيم من شركة Sun MicroSystems في عام 1991.  أحد المفاتيح التي تجعل Java قيمة للغاية. إنها JVM اي  (Java Virtual Machine) التي تجعلها متوافقة مع جميع الأنظمة الأساسية. 

هناك الكثير  الذين يقولون إن جافا سيتم نسيانها بعد إدخال لغة Kotlin. لقد ماتت Java وأبعثت مرات أكثر من مره وها هي هنا الأن. وفقًا لموقع StackOverFlow في مسح أجرتها سنه 2018 ، أن Java في المرتبة الخامسة في قسم لغات البرمجة ولغات الترميز .

10. F#

إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

تم تطوير F# في الأساس بواسطة مؤسسة F# Software Foundation. لم يكن هناك شيء يحدث في الويب فيما يتعلق بـ F# ، لكن وفقًا لآخر استطلاع للرأي ، تصنف F# في أعلى الرواتب مقارنة بلغات البرمجة الأخرى. غالبًا ما تستخدم لغة F# كلغة أساسية للبنية المشتركة (CLI) عبر الأنظمة ، لكن يمكنها أيضًا إنشاء شفرة JavaScript و GPU. الصوره التاليه توضح مقارنة راتب F#: 

إليك أفضل 10 لغات برمجة لتعلمها في عام 2019

وبذلك تنتهي قائمة لغات البرمجة العشرة الأولى التي يجب أن تفكر في تعلمها في عام 2019. إذا أعجبك المقال فضلاً قم ، بمشاركة معرفتك مع المجتمع.

شكراً لكونك هنا 💓وشكراً علي قرائتك للموضوع ...

 

Python و Javascript : شرح لأهم الإختلافات

تعد كل من Python و JavaScript من أكثر لغات البرمجة شعبية حتى الآن. على الرغم من أن اللغتين هما لغات برمجة كائنيه التوجه ، إلا أن نطاقاتها مختلفة. تشترك كل من Python و JavaScript مع بعض الاختلافات المهمة.

هناك العديد من فرص العمل المتاحة لكل من مطوري Python و JavaScript. وبالتالي ، فإن اختيار واحدة منن أحدا لغتي  البرمجة هذه  لبدء  مشوارك المهني كمبرمج هو خيار جيد.


من وجهة نظري البدء ، في تعلم Python أسهل بكثير من تعلم  JavaScript. في الواقع ، فإن أحد أهداف التصميم الرئيسية للغة بايثون هو سهولة الفهم والتنفيذ.


قبل المضي قدمًا والبدء في الخوض في الاختلافات بين بيثون وجافا سكريبت ، دعونا أولاً نستعرض معكم  مقدمة مختصرة عن اللغتين المتنافستين.


Python - واحدة من أسرع لغات البرمجة نمواً 

Python هي لغة برمجة تفسيريه عالية المستوى وذات طابع قوي تتميز بالدلالات الديناميكية والتصميم الموجه للكائنات. من المفترض أن تكون سهلة القراءة وكذلك سهلة التنفيذ.

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

يمكن لبيثون أيضًا أن تعمل كلغة برمجية لأمثال بيرل وروبي لإنشاء تطبيقات الويب. جمال Python هو أنه يسمح للمبرمجين باستخدام مجموعة من أساليب البرمجة لتطوير برامج معقدة وكذلك بسيطة.

علاوة على ذلك ، تتبني Python فلسفه "batteries included programming language" ، والتي تشير ببساطة إلى مجموعة واسعة من الوحدات التي تأتي معها. نماذج البرمجة التي تدعمها بيثون هي:
  •  البرمجة الوظيفية
  •  البرمجة الحتمية
  •  البرمجة الشيئية
  •  البرمجة الإجرائية

 جافا سكريبت - لغة البرمجة المحببة على الويب

JavaScript أو JS هي لغة برمجة موجهة للكائنات تستخدم على نطاق واسع لإنشاء صفحات ويب ديناميكية. هو موحد في مواصفات لغة ECMAScript. بخلاف OOP ، توفر JS أيضًا دعمًا لنموذجين برمجيين آخرين ، وهما الوظيفية والحتمية

يستخدم JS عادةً داخل متصفح الويب لتوفير وظائف ديناميكية لا يمكن تحقيقها باستخدام CSS و HTML. يوفر JavaScript أيضًا دعمًا لإنشاء تطبيقات الويب القياسية مع التاريخ والنص والتعبيرات العادية.

على الرغم من أن JavaScript في البداية كان مخصصه لتطوير الواجهات الأمامي ، إلا أنها تستخدم الآن أيضًا في تطوير الواجهة الخلفية. وبالتالي ، مع Node.js ، يمكن استخدام JS لتطوير تطبيقات سطح المكتب المستقلة أيضًا.

تعلم JavaScript لا يتطلب وجود فهم جيد للغة برمجة Java. ومع ذلك ، يمكن أن يساعد الشيء نفسه بالتأكيد على تخفيف عملية التعلم.

بيثون مقابل جافا سكريبت: مقارنة وجها لوجه  

المصفوفات والقوائم والTuples

 يوفر JavaScript دعمًا كامل للمصفوفات كأنواع بيانات مضمّنة. على الرغم من عدم وجود دعم مضمن للمصفوفات في Python ، إلا أنه يوجد حل بديل لتطبيق المصفوفات في Python. يتم تحقيق ذلك باستخدام القوائم ، وهو الأقرب إلى المصفوفات ولكن للبيثون.

تشبه قوائم Python نوع بيانات آخر متوفر بلغة البرمجة ، tuples. الفرق الأكثر أهمية بين القائمة والعدد هو أنه في حين أن الأولى قابلة للتغيير ، فإن الأخيرة غير قابلة للتغيير.

السمات والخصائص

تحتوي كائنات JavaScript على خصائص يمكن أن تتكون من السمات الأساسية. التي تتيح لك تحديد خاصية. في لغة برمجة Python ، يسمح بروتوكول الواصف ، حيث تستخدم وظائف getter و setter ، بتحديد سمة.

بلوكات الكود

يستخدم JavaScript الأقواس المعقوفة لتحديد بلوك الأكواد البرمجية. Python ، من ناحية أخرى ، يستخدم المسافة البادئة لتحديد البلوك. على الرغم من أن جافا سكريبت لديها "؛" والتي تعمل بمثابة فاصل بيان ، Python لديها خط جديد.

تنسيق الترميز

 يجب تشفير JavaScript كـ UTF-16. أيضا ، لا يوجد أي دعم يحمل في ثناياه عوامل في لغات البرمجة لمعالجة البايتات الخام. ما لم يتم تحديد تنسيق الترميز لكل لغه مستخدمه ، يكون شفرة مصدر Python هي ASCII افتراضيًا.

وسيطات الدالة

يثير Python استثناءًا في حالة استدعائه دالة ذات معلمات غير صحيحة. علاوة على ذلك ، فإنه يقبل بعض المعلمات لإضافية لتمرير بناء الجملة.

جافا سكريبت لا يهم ما إذا كان يتم استدعاء وظيفة مع المعلمات الصحيحة أم لا. هذا لأنه ، افتراضيًا ، تحصل أي معلمات مفقودة في JS على قيمة "غير محددة". علاوة على ذلك ، إذا كانت هناك أي وسيطات إضافية ، فسيتم التعامل معها كوسيطات خاصة بواسطة JavaScript.


تجزئة الجداول

تتميز لغة برمجة بايثون بجداول تجزئة مدمجة ، تسمى القواميس والمجموعات وما إلى ذلك. على عكس Python ، لا يحتوي JavaScript على دعم جدول التجزئة المضمّن بأي شكل من الأشكال.

التحويل الضمني

Python هي لغة برمجة مكتوبة بقوة ، بمعنى أنه لا يوجد تحويل ضمني لنوع البيانات في لغة البرمجة. على عكس ذلك ، فإن جافا سكريبت تمت كتابتها بشكل ضعيف ، وبالتالي توفر تحويلًا ضمنيًا لنوع البيانات.

الوراثه

كلاً من بيثون ، وكذلك جافا سكريبت ، توفر الدعم للوراثه. ومع ذلك ، فإن الفرق يكمن في أنواعها. بينما تستخدم JavaScript نموذجًا الوراثه القائم على النموذج الأولي ، فإن بيثون تستخدم نموذجًا للميراث القائم على الفصل.

هناك تميز آخر بين Python و JavaScript من حيث الوراثه وهو أن Python ليس لديها طريقة للوراثة من الحالات ، بينما JS لديها.


تطوير الهواتف المحموله

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

الوحدات والمكتبات

تُعرف Python باسم "لغة البرمجة المضمنة في البطاريات" لأنها تأتي مع عدة وحدات. علاوة على ذلك ، لديها العديد من المكتبات لإنجاز تحليلات البيانات والتعلم الآلي والحوسبة العلمية.

على العكس من ذلك ، يأتي جافا سكريبت مع عدد أقل من الوحدات ، مثل التاريخ ، JSON ، والرياضيات. تتوفر وظائف إضافية لـ JS من خلال بيئة المضيف ،مثل متصفح الويب ، ونادراً ما تجدها خارج مضيف كا نظام التشغيل.
 

التحولية

تنقسم أنواع البيانات في بيثون إلى أنواع قابلة للتغيير وغير قابلة للتغيير. على سبيل المثال ، المجموعة هي نوع بيانات قابل للتغيير ، في حين أن القائمة هي نوع بيانات غير قابل للتغيير.

الكائنات القابلة للتغيير هي تلك التي يمكن تغيير قيمها بمجرد تعيين قيم لها. على عكس ذلك ، لا يمكن للكائنات الثابتة تغيير القيم. على عكس لغة برمجة Python ، لا يوجد لدى JavaScript مفهوم قابلية التحويل.

أنواع رقمية

في JavaScript ، لديك متغيرات النقطة العائمة فقط. على العكس من ذلك ، تتميز لغة برمجة Python بعدة أنواع من أنواع البيانات الرقمية ، مثل int ، و عشري ثابت ، و float. 

 البرمجة الإجرائية

يتبع كل من Python و JavaScript نهجًا متعدد النماذج ، أي أنهما يوفران الدعم لأكثر من نموذج واحد للبرمجة.

يقدم كل من Python و JavaScript طرقًا عملية وضرورية وموجهة نحو البرمجة. ومع ذلك ، لدى Python جوانب عديدة من لغة البرمجة الإجرائية بينما جافا سكريبت ليست كذلك.

REPL (Read- Eval-Print-Loop)


يمكنكان تحصل علي REPL عند تثبيت Python على نظامك. ومع ذلك ، لا تتوفر ميزة REPL المدمجة مع JavaScript. هذا لأن JS يعمل في الغالب داخل المستعرض. ومع ذلك ، يمكننا الحصول على REPL لجافا سكريبت عن طريق تثبيت Node.js.

Scope

تعد JavaScript مثالية لإنشاء موقع ويب أو تطبيقات. 
 Python من ناحية أخرى ، هو الاختيار المثالي للمهام المتعلقة بتحليل البيانات ، والتعلم الآلي ، والعمليات المكثفة في الرياضيات. 

استنتاج

وباختصار:
  •  تستخدم كل لغة حالاتها الخاصه ، ومع ذلك يمكنك تحقيق أي شيء تقريبًا باستخدام Python وأيضاً باستخدام JavaScript.
  •  تشترك كلتا اللغتين المبرمجتين في الكثير من الجوانب ، مثل اتباع نهج متعدد النماذج و تحديد نطاق لغوي. في الوقت نفسه ، هناك عدة اختلافات بين الاثنين يجب عدم تجاهلها.
  •  لا توجد ندرة في المكتبات والإضافات المتاحة لبيثون وجافا سكريبت لتحقيق أكثر من ما يتم تقديمه كميزات مضمنة. على الرغم من أن كلاهما لديه العديد من فرص العمل المتاحة ، فإن بيثون تتمتع بحضور أفضل في السوق كما أنها سهلة التعلم.  

كيف تتعلم لغة الـJavascript سريعًا ؟


العديد منّا يعلم ما هي الجافاسكريبت ويعلم كم هيا جميله، ولكن البعض الأخر لا يعلمها، البعض منّا بدأ في تعلمها والبعض الأخر لا، في هذا الموضوع إن شاء الله سأخبركم ما هيا الجافاسكريبت في جزء صغير جدًا و سأخبرك كيف تتعلمها سريعًا لتصبح مبرمج وخبير في تلك اللغه!.

ما هي الجافاسكريبت؟

جافاسكريبت هلي لغة برمجة موجهة و التي تستخدم في المقام الأول لإنشاء واجهات تفاعلية على شبكة الإنترنت، هل يبدو ذلك تقني للغايه ؟ حسنًا، دعنا نفهم بعض الأمثلة:
  •  عندما تحوم بسهم الماوس فوق زرٍ ما، سيضئ وهذا معناه أنه قابل للنقر.
  • أثناء تصفح موقع التواصل الإجتماعي Facebook، عندما تنقر على إسم صديقك، ستنبثق لك نافذة دردشة
  • عندما تبحث عن موضوعٍ ما في مدونتنا ليليوم ـ ستحصل فورًا على النتيجه في نتائج البحث.
في جميع الأمثله المذكورة سابقًا، فإنك تقوم ببعض الإجراءات مثل:(تحوم، تنقر، تكتب) وفي المقابل يحدث شيءٍ ما. تلتقت الجافاسكريبت هذه الإجراءات او الأحداث ويستند إلى إنها تتطلب بعض الإجراءات او أي شيء ليشغلها. إنها الـJavascript التي توفر لك التفاعل في الواجهات الأمامية لمواقع الويب.

الـHTML توفر المحتوى، الـCSS توفر الشكل والمظهر لهذا المحتوى، والجافاسكريبت يوفر التفاعل لهذ المحتوى. لذا بدون الجافاسكريبت، ستكون تجربة الويب للمستخدمين مملة للغاية.

هناك مكان آخر تستخدم فيه الجافاسكريبب في نطاق واسع في تطوير الواجهات بإستخدام إطارات عمل حديثه مثل: NodeJS. في الواقع هناك حزمة ويب شهيرة تُسمى حزمة MEAN والذي تمثل إطارات عمل MongoDB  و ExpressJS و AngularJS و NodeJS.

يحتوي كل تطبيق على جزأين. الجزء الخلفي وهو الجزء الخفي الذي لا يراه المستخدم و الخاص بالـSERVER او الخادم. و الجزء الامامي، وهو ما سيراه المستخدم في المتصفح. لغات البرمجة الأساسية و الشائعة و هي PHP و Java و Python وما إلى ذلك. المسأله هنا انه في إستخدام لغات البرمجة هذه، هي إنه يتعين على المنظمات توظيف مطوري واجهات خلفية الذين لديهم مهارات في إحدى لغات البرمجه هذه و مطوري الواجهات الأمامية الذين لديهم مهارة إستخدام لغة الجافاسكريبت.
× ملحوظة!لا تخلط بين لغة الـJava ولغة الـJavascript لأنهم لغتين مختلفتين تمامًا.

NodeJs هو إطار عمل للويب يستند على لغة جافاسكريبت، و قد إكتسب شعبية مؤخرًا بسبب إنه في الواقع يمكن للمنظمات و الشركات الآن توظيف مبرمجين للغة الجافاسكريبت الذين يمكنهم العمل على الواجهات الأمامية و الواجهات الخلفية. هذا يجعل توظيف المبرمجين أسهل كثيرًا وكذلك لأن المطوّر نفسه يعرف كلاً من الواجهتين؛ لذا أصبح من الأسهل إدارة الكود.

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

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

كما إرتفعت مرتبات مبرمج الجافاسكريبت بشكلٍ حاد، لا سيما في المناطق التي تتطور فيها الشركات الناشئة. العديد من الشركات الناشئة هذه الأيام تنتقل إلى حزمة الـMEAN وهكذا. فإن الطلب سوف يزداد على تلك اللغة.

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


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

في الواقع واحدة من افضل الطريق لتعلم الجافاسكريبت بسرعة هي تنفيذ مشروح يعتمد على الجافاسكريبت. فيما يلي بعض من افكار المشاريع المهمة بإستخدام جافاسكريبت
  • آلة حاسبة بسيطه مع عمليات مثل الجمع والطرح و الضرب و القسمة، إلخ.
  •  آلة حاسبه لحساب فواتير للتجارة الإلكترونية.
  • نظام لتقسيم الفاتورة ليساعد في تقسيم الفواتير بين الأصدقاء.
  • لعبة اسئه بسيطة.
  • مربع بحث بسيط مدعوم من الجافاسكريبت.
  • مدقق للنماذج الذي يتأكد من عدم وجود كلمة غير صحيحة في النموذج.
  • صندوق للتعليقات مدعوم من الجافسكريبت في مدونة.
  • لعبة مثل اللعبه الشهيرة Tic-tac-toe بإستخدام جافاسكريبت،HTML،CSS.
  • معرض للصور.
  • EchBot- روبوت يعيد ما كتبتة إليه للتو.
  • تطبيق لقوائم المهام التي تساعدك في إدارة المهام الخاصه بك.
  • صفحة تفاعلية خاصه بك.
  • منشئ مستند إحصائيات بسيط بإستخدام جافسكريبت. حيث يمكنك عرض إحصائيات مثل: عدد الكلمات او عدد الحروف الأبجدية او حتى عدد الفقرات، إلخ.
  • منبه او مؤقت بغستخدام جافسكريبت.
  • مولد أرقام من ا إلى 10 على سبيل المثال
*خطوات إشاء مشروع معتمد على الجافسكريبت كا يلي:-
  • إختر فكرة مشروع من تلك المذكورة سابقًا.
  • صمم واجهة مستخدم سهلة الإستخدام على ورقة اولاً.
  • خطط لمنطق المشروع على سبيل المثال: (كيف سيعمل اللعبه الخاصه بالأسئلة ؟) واكتبها على ورقة ابضًا.
  • اكتب اكواد افتراضيه لعمل إطار عمل مناسب لك، في هذا الرمز الزائف يجب انت تقوم بأخذ ملاحظات من أجل الوظائف التي ستكتبها ومعاملتها وقيمة النواتج. سيؤدي هذا في جعلك خطوة أقرب إلى الشكل النهائي.
  • أخيرًا، إبداً في التكويد بإستخدام الجاسكريبت و أي شيئ تواجهة قم بالبحث في جوجل عن كيفية عمل ذلك الشيء. على سبيل المثال، العناصر في الفاتورة للتجارة الإلكترونيه مثلاً قد تتطلق حلقه او ما يُسمى بالـLoop ، ما عليك سوى البحث في جوجل على مثال بسيط عن كيفية عمل حلقة في الجافسكريبت, وستتمكن بسرعه من عمل كود جاهزل للعمب بإذن الله.
يمكنك تكرار هذا النهج المقترح أعلاه لمشاريع متعدده، و في النهاية سوف تكون على دراية في الجافاسكريبت وكيفية إستخدامها. ويمكنك بعد ذلك الإنتقال إلى مشاريع متقدمه بالجافاسكريبت. هناك طريقة أخرى لتعمل الجافاسكريبت وهي إتباع برامج تعليمية و كورسات معروفه تعتمد على الجافاسكريبت: يمكنك العثور على قائمة رائعة من دروس الجافاسكريبت على اليوتيوب، في معظم هذه البرامج التعليمية، ستعمل على مشروع جافاسكريبت فعلي، و بالتالي سوف تساعدك على فهمة بشكلٍ أفضل. هذا النهج الثاني الذي ذكرته هو أكثر فائدة للذين يتعلمون الجافاسكريبت وفي بدايتهم، يعد اتباع برنامج تعليمي خطوة بخطوة مفيدًا جدًا إذا كنت جديدًا في البرمجه و تريد ان تفهم ليست لغة البرمجة فقط بل وايضًا مفاهيمها وأساسيتها اصلاً
مفتاح تعلم الجافاسكريبت بسرعة هو كتابة الكثير من أكواد الجافسكريبت في مشاريع صغيرة، هذا سيساعدك في التعرف على بناء اكواد الجافسكريبت بل وليس ذلك فقط، سيساعدك ذلك في معرفة اين يمكنك او لا يمكنك إستخدامها لتعامل معها بشكلٍ فعال.