הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה | מי פה חושב ש php זו שפת תכנות ? (https://hosts.co.il/forums/showthread.php?t=99005)

perfeito 31-07-12 23:14

שאלה | מי פה חושב ש php זו שפת תכנות ?
 
לפי דעתי זה פשוט אוסף של פונקציות, היוצרים של PHP לא יודעים דברים בסיסיים כגון זהות אובייקט http://t.co/f7faAaSx .

כל מי שמתכנת בכמה שפות מבין על מה אני מדבר.

http://me.veekun.com/blog/2012/04/09...of-bad-design/

סתם רוצה לדעת מי חושב כמוני, ובכל זאת משתמש ב PHP. :)

איציק ברבי 01-08-12 03:40

אני לא קורא לשפה PHP שפת תכנות מכוון שהיא אינה אחת.
היא שפת סקריפט, בדומה לJAVA PERL וPYTHON הם רצות על תוכנה(סביבה) מסויומת, ולכן היא נקראת שפת סקריפט.
http://en.wikipedia.org/wiki/PHP
זה שיש לך דעות נגדיות על השפה זה כבר משהו אחר, ובגלל זה כל פעם מעדכנים את הבאגים שלהם, PHP.NET אתה מוזמן להיכנס לקרוא..

perfeito 01-08-12 17:52

JAVA זו שפת סקריפטים, מעניין...

AlonMi 08-08-12 09:36

זה בדיוק כמו להגיד ש-WINDOWS או GOOGLE זה אוסף פונקציות...

אם את זה אתה מגדיר אוסף פונקציות, אז אתה צודק...

יש גישות שונות, זה נכון, אבל הדברים מתקדמים פחות או יותר אצל כולם לאותו כיוון

Liorl 08-08-12 19:09

JAVA זאת שפת סקריפט ? חח

Derey22 08-08-12 19:24

ציטוט:

נכתב במקור על ידי איציק ברבי (פרסם 853018)
אני לא קורא לשפה PHP שפת תכנות מכוון שהיא אינה אחת.
היא שפת סקריפט, בדומה לJAVA PERL וPYTHON הם רצות על תוכנה(סביבה) מסויומת, ולכן היא נקראת שפת סקריפט.
http://en.wikipedia.org/wiki/PHP
זה שיש לך דעות נגדיות על השפה זה כבר משהו אחר, ובגלל זה כל פעם מעדכנים את הבאגים שלהם, PHP.NET אתה מוזמן להיכנס לקרוא..

המכנה המשותף של כל השפות שהזכרת - שהם לא עוברים קימפול אלה הם "אינטרפטר".
למרות זאת הם עדיין שפת תכנות לכל דבר.

ציטוט מווקיפדיה שתסדר לך את העניין: "שפת תכנות היא אוסף של חוקים תחביריים (Syntax) וסמנטיים (Semantic) שבאמצעותם ניתן להגדיר למחשב באופן מפורט פקודות ופעולות שעליו לבצע בתחומים שונים ומגוונים."

perfeito 09-08-12 00:20

ציטוט:

נכתב במקור על ידי Derey22 (פרסם 853718)
המכנה המשותף של כל השפות שהזכרת - שהם לא עוברים קימפול אלה הם "אינטרפטר".
למרות זאת הם עדיין שפת תכנות לכל דבר.

ציטוט מווקיפדיה שתסדר לך את העניין: "שפת תכנות היא אוסף של חוקים תחביריים (Syntax) וסמנטיים (Semantic) שבאמצעותם ניתן להגדיר למחשב באופן מפורט פקודות ופעולות שעליו לבצע בתחומים שונים ומגוונים."

Javaעוברת קימפול דרך `javac` הוא הופך את הקוד לבייטקוד ואז מריץ אותו על ה jvm.

לפני הכל מי ש"אוהב" את php ובונה את כל העסק שלו על גבי php נא לא לקרוא :)

הטענה שלי בגדול היא ש php היא שפת תכנות אבל, זה לא מרגיש כמו שפת תכנות, כמה דוגמאות:

קודם כל תורידו את הסורס של php ותעשו grep למילים האלה:
`hack`
`workaround`
`fix this`
אחרי זה תורידו את כל השפות בעולם תנסו למצוא כמה מילים כאלה יש בסורס 0


ב javascript שהיא שפת תכנות לכל דבר ואחת הגדולות בהם אתה יכול לעשות את זה
קוד:

(function () {
  return function () { console.log('Hello, World!'); }
}())();

אוקיי אז אתם יכולים להגיד ל `php` יש קלאסים ויש closures אבל כשאתה מתכנת ב php כל יום אתה מוצא דבר מטומטם חדש בשפה הזאת:

קוד:

class Test {

  var $foo;

  function __construct () {
    $this->foo = function () {
      echo 'Hello, World';
    };
  }

}

$test = new Test;
$test->foo();

עכשיו בואו תגידו לי למה זה לא עובד?!?!
אני יגיד לכם, כי ה פשוט לא יכולים לגרום לזה לעבוד, הם מפחדים שאני ייצור פונקציה בתוך הקלאס עם אותו שם `foo` בקיצור אם תכנתתם בשפה אחרת כלשהי אתם גם תרגישו מה שאני מרגיש ש php היא לא שפת תכנות, היא פשוט משהו שמנסה להיות שפת תכנות.

רוצים עוד משהו מפגר ?!
החובבנים שעובדים על php גילו ש v8 המנוע של קרום ל javascript מהיר יותר מ phpלפעמים כפול 10 (הם מתקרבים למהירות של c++!!!!!!), מה הם עשו ? חח
לינק:
http://shootout.alioth.debian.org/u3...g=php&lang2=v8

הם רוצים שנריץ javascript בתוך v8 מתוך php
WTF!!

קוד:

<?php
$javaScriptCode = '
function FizzBuzz(correspondences) {
    this.correspondences = correspondences;
    this.accept = function (number) {
        var result = ""
        for (var divisor in this.correspondences) {
            if (number % divisor == 0) {
                result = result + this.correspondences[divisor];
            }
        }
        if (result) {
            return result;
        } else {
            return number;
        }
    }
}
var myFizzBuzz = new FizzBuzz({3 : "Fizz", 5 : "Buzz"});
myFizzBuzz.accept(15);
';
$v8 = new V8Js();
var_dump($v8->executeString($javaScriptCode));

קוד:

$fn = $test->foo;
$fn();

ל phpיש פונקציית strpos() פונקצייה היחידה בעצם למצוא קוד בתוך סטרינג שעובדת מהר... השאר איטיות, אבל מה הבעיה שהיא מחזירה false אם היא לא מוצאת את מה שרצית היא השפה היחידה בעולם שמחזירה false מ strpos(), למה זה בעיה ?

js:
קוד:


if (~'foo'.indexOf('bar')) {
  console.log('doesnt execute no Error.');
}

php:
קוד:

if (~strpos('foo', 'bar')) {
  echo 'ERRROROORORORO!!!';
}

נכון אני יכול להשתמש ב false!== אבל למה ?!

בקיצור strpos() בכל שפה בעולם !! לא מחזירה false תמיד מספר, אם היא לא מוצאת כלום
היא אמורה להחזיר -1.

אני מנסה לעשות מערכת טסטים שתראה כמו ברובי תראו איזה כיף לעשות טסטים:

קוד:

describe Environment, "created from the command line" do
  before(:each) do
    @env = Environment.new
  end

  it "should set the usage message attribute" do
    args = %w(foo bar baz quux)
    @env.parse_command_line(args)
    @env.usage_message.should_not be_empty
  end

  it "should recognize arguments that are not options" do
    args = %w(foo bar baz quux)
    @env.parse_command_line(args)
    @env.should have(4).args
  end

  it "should throw an exception if an illegal option is provided" do
    args = %w(foo -z bar)
    lambda { @env.parse_command_line(args) }.should raise_error
  end

  it "should allow the cvs path to be set" do
    test_path = '/bin/cvs'
    args = ['--cvspath', test_path]
    @env.parse_command_line(args)
    @env.get_option(:cvs_command_path).should == test_path
  end

  it "should be invalid if cvs path does not exist" do
    args = ['--cvspath', 'nonexistent']
    @env.parse_command_line(args)
    @env.should_not be_valid
    @env.errors.should have_at_least(1).error
    @env.errors_on(:cvs_path).should have(1).error
    @env.errors_on(:cvs_path).should match(/not exist/)
  end
end

הכי קרוב שהצלחתי לעשות:

קוד:

describe('Response')
  ->setup(function () {
    return new Response;
  })
  ->its('->status should be 200', function () {
    $this->status->should->be(200);
  });

php היא השפה היחידה שאתה אמור לעשות
<?php אם אתה רוצה שהסקריפט יעבוד.

בקיצור לא יודע מה איתכם אבל אני בתור מתכנת שמעריך את עצמו, לא אומר בראיונות שאני מתכנת ב php, כי אני מתבייש :(.

עכשיו חפשו בגוגל את היוצר של php ותקשיבו למה שהוא אומר:
"php זה דבר שפשוט התפתח עם השנים, לא התכוונתי שהיא תהיה שפת תכנות, אני בכלל לא יודע לעשות שפות תכנות, היום אני מרגיש שאי אפשר לתקן אותה"

Kernel 09-08-12 05:41

רבותיי נסחפתם,

מתבייש לספר שאתה יודע PHP?
אולי אתה לא רוצה שיידעו שבנית אתרים בעבר,

ניתחתם את השאלה יותר מדי,
השאלה שצריכה להישאל:
האם PHP עושה את העבודה? מבצע את כל מה שנדרש?
לא מעמיס על המערכת?

perfeito 09-08-12 06:59

ציטוט:

נכתב במקור על ידי Kernel (פרסם 853761)
רבותיי נסחפתם,

מתבייש לספר שאתה יודע PHP?
אולי אתה לא רוצה שיידעו שבנית אתרים בעבר,

ניתחתם את השאלה יותר מדי,
השאלה שצריכה להישאל:
האם PHP עושה את העבודה? מבצע את כל מה שנדרש?
לא מעמיס על המערכת?

תסביר לי מה זה "לא רוצה שיידעו שבנית אתרים בעבר"
מה בעצם אתה אומר ש PHP זו השפה היחידה שאפשר לבנות בה אתרים ? :-0
אני לא קשור לאף webhost אז אני יכול להשתמש ב c בשביל לבנות אתרים אם בא לי.

השאלה היא לא האם php עושה את העבודה, השאלה היא הכותרת של האשכול :)

php פופולרית מסיבה אחת בלבד, webhosts יכולים לעשות memory limit וכאלה, אז היא הכי פופולרית, אם php הייתה כמו נגיד ruby או python (שקשה לעשות limit) לא היה בה צורך.
הם יכולים לעשות גם ביטול לפונקציות וכאלה, בקיצור php נבנתה לפי מה שהוובהוסט רוצים.

Megnum 09-08-12 07:13

איזה חופרים יש בפורום הזה


כל הזמנים הם GMT +2. הזמן כעת הוא 13:31.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ