Куча говна / Говнокод #26733 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
namespace Test;

/**
 * MyTest (test/mytest.zep)
 */
class MyTest
{
    public function someMethod()
    {
        /* Variables must be declared */
        var myArray;
        int i = 0, length;

        /* Create an array */
        let myArray = ["hello", 0, 100.25, false, null];

        /* Count the array into a 'int' variable */
        let length = count(myArray);

        /* Print value types */
        while i < length {
            echo typeof myArray[i], "\n";
            let i++;
        }

        return myArray;
    }
}

Язык программирования «Зефир».

https://docs.zephir-lang.com/0.12/en/introduction

Запостил: TEH3OPHblu_nemyx TEH3OPHblu_nemyx, (Updated )

Комментарии (53) RSS

    • Я задыхаюсь от ворентности,
      От твоей-моей кобенности,
      Я помню все твои байтики, ага-ага.
      Пишу твои-мои функции.

      Зачем? Зачем? Лааааай-ла-лаа
      Зачем? Зачем? Лааааай-ла-лаа
      Ответить
  • Йажа какая-то.

    >while i < length {
    Видимо сделали фигурные {} скобки обязательными, что дало возможность сделать круглые () скобки опциональными.
    Ответить
  • Фу блять, фу нахуй, какое же говнище.

    unsigned integer variables are like integer but they don’t have sign, this means you can’t store negative numbers in these sort of variables:
    
    uint a;
    
    let a = 50; 
    
    let a = -70; //automatically casted to 70
    
    let a = 100.25;//automatically casted to 100
    
    let a = null; //automatically casted to 0
    
    let a = false; //automatically casted to 0
    
    let a = "hello";//throws a compiler exception


    Особенно когда -70 НЕЯВНО превращается в 70.
    Ответить
        • Кококококой рунтиме )))

          А компилтиме конпелятора — это то, что зашито в сам конпелятор, и чтобы его изменить, нужно переконпилировать сам кокококонпелятор?
          Ответить
    • >> Особенно когда -70 НЕЯВНО превращается в 70.

      Они наврали. Ничего там не превращается. Он тупо высирает в сишный код как есть, а во что это превратится, зависит от того, какой тип используется в сишном коде.

      Разработчик sergeyklay не видит проблемы:
      https://github.com/phalcon/zephir/issues/1291
      Ответить
      • Some platforms have 9-bit,
        а можно пруфоф?

        Формально Питуз прав.
        может быть
        sizeof(char) == sizeof(long)
        и оба 11 бит.
        Но где такое?
        Ответить
        • У «PDP-10» в машинном слове 36 бит, причём машинные слова не разбиты на байты.

          Авторы одного из компиляторов «Си» для этой платформы решили разбить машинное слово на четыре байта по 9 бит.

          Ещё в DSP (digital signal processors) бывают большие байты. Там в байте спокойно может оказаться 64 бита.
          Ответить
  • https://docs.zephir-lang.com/0.12/en/motivation

    If You Are a C Programmer…
    
    C is one of the most powerful and popular languages ever created. In fact, PHP is written in C, which is one of the reasons why PHP extensions are available for it. C gives you the freedom to manage memory, use low level types and even inline assembly routines.
    
    However, developing big applications in C can take much longer than expected compared to PHP or Zephir, and some errors can be tricky to find if you aren’t an experienced developer.
    
    Zephir was designed to be safe, so it does not implement pointers or manual memory management, so if you’re a C programmer, you will feel Zephir less powerful, but more friendly, than C.
    Почему всякий отброс с «новым крутым языком» равняется на божественную Сишку?
    Ответить
    • Испытательный полигон:
      namespace Pituh;
      
      class Test {
          public static function main() {
              uchar i = 0;
              let i = -2147483648;
              let i = -70;
              let i = 3.62;
              echo i;
          }
      }

      Выхлоп:
      PHP_METHOD(Pituh_Test, main) {
      
      	unsigned char i;
      
      
      	i = 0;
      	i = -2147483648;
      	i = -70;
      	i = (long) (3.62);
      	php_printf("%c", i);
      
      }


      Какой анскилл )))
      Ответить
      • > Pituh_Test

        Падажжи, то есть классы Pituh\Test и Pituh_Test вызовут коллизию имен?
        Ответить
  • Ещё один багор:
    https://github.com/phalcon/zephir/issues/653

    Ворнинг при объявлении класса, имя которого начинается на букву «u», потому что после склейки имени неймспейса с именем класса получается «\u», что трактуется как начало литерала уникодного символа с шестнадцатеричным кодом.

    Т. е. если у нас в неймспейсе «Nya» объявлен класс «Uwu», то после склейки получается «Nya\Uwu», и компилятор ищет шестнадцатеричные цифры после «\U».
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8