LINUX.ORG.RU

Самый простой код

 


3

4

Снежинка в терминале. 1 штука.

#include <stdio.h>
#include <stdlib.h>
//Снежинка в консоли
void main ()
{
    system("clear");    
    system("sleep 1");
    printf("❄\n");
    system("sleep 2");
    system("clear"); 
    printf("\n\n\n ❄\n");
    system("sleep 2");
    system("clear"); 
    printf("\n\n\n\n❄ \n");
    system("sleep 2");
    system("clear"); 
    printf("\n\n\n\n\n\n ❄ \n");
}




Последнее исправление: AnonymUser (всего исправлений: 1)
Ответ на: комментарий от olelookoe

Пролетела снежинка, как и сотню годочков назад,

Надоела гитара, надоел рок-н-ролл,

И вообще надоел маскарад :)

AnonymUser
() автор топика
Последнее исправление: AnonymUser (всего исправлений: 1)

Помню я такие снежинки делал еще на денди лет 30 назад. Там какой то бейсик был без возможности сохранения кода. Правда у меня снега было много и он двигался…вверх…

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от LightDiver

Помню я этот бейсик. У меня был в двух диалектах: Game Basic, который не умел в математику с плавающей точкой, зато умел опрашивать порты джойстиков, поддерживал простенькую графику и умел синтезировать звук, и Float Basic, который ничего из перечисленного выше не умел, даже не умел толком управлять выводом на экран, зато умел считать. Математические, тригонометрические функции и т.д. там были.

yars068 ★★★★★
()
Ответ на: комментарий от yars068

Вот да! Game Basic! Оно! Я в душе не представлял что он умел, так как книг по нему и докуменатции не было. Я наугад вбивал команды, какие нашел. Но снег вверх у меня шел.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

А у меня был талмуд в виде руководства по обоим диалектам, который был в комплекте с компом, распечатанный на листах А4, страниц на 200, наверное, очень кратенький. Тоже много чего писал и переписывал потом в тетрадку, потому что сохранять нельзя было. У Subor SB-225B был порт принтера, но тогда у меня последнего не было, да и не уверен, что она там был не бутафорский :)

yars068 ★★★★★
()
Ответ на: комментарий от yars068

До меня сейчас дошло - многие из тех, кто мог бы стать программистами, теперь не станут из за ИИ. Потому что нет челенжа в первую очередь.

Я тогда икал каждую доступную книгу по программированию. Единственная какому то древнему бейсику еще с let и номерами строк была в библиотеке, но люто устаревшая. Что то удавалось купить на редкие деньги, которых не было. Например, так я как то обзавелся кирпичем килограмма на три по АПИ виндоус.

Инфы не было, но был интерес. Интерес сделать что то - нашаманить своими руками то, чего другие не могут.

А сейчас любой может. Просто спроси - вот оно. Все.

С другой стороны и я то программистом в итоге не стал, потому что инфы не было. Может кто то и наоборот сможет найти нужную инфу и станет этим треклятым программистом.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Я программистом не стал по другой причине – провалил отборочный экзамен, пришлось подаваться в электрики, а потом переводиться в механики :) Но пару раз участвовал в олимпиаде среди непрофессионалов, третье место даже занял :)

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от jura12

Попросил deepai.org. Ответ (код на удивление рабочий и вполне так). Но впечателение, что сеть где-то скопировала этот код:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>

#define WIDTH 80     // ширина терминала
#define HEIGHT 24  // высота терминала
#define SNOWFLAKES 100 // количество снежинок

// структура для хранения координат снежинки
typedef struct {
    int x;
    int y;
} Snowflake;

int main() {
    Snowflake snowflakes[SNOWFLAKES];

    // инициализация генератора случайных чисел
    srand(time(NULL));

    // инициализация снежинок случайными позициями
    for (int i = 0; i < SNOWFLAKES; i++) {
        snowflakes[i].x = rand() % WIDTH;
        snowflakes[i].y = rand() % HEIGHT;
    }

    while (1) {
        // очистка экрана
        printf("\033[2J");
        printf("\033[H");

        // создание временного буфера для отображения
        char buffer[HEIGHT][WIDTH + 1];
        for (int i = 0; i < HEIGHT; i++) {
            for (int j = 0; j < WIDTH; j++) {
                buffer[i][j] = ' ';
            }
            buffer[i][WIDTH] = '\0';
        }

        // размещение снежинок в буфере
        for (int i = 0; i < SNOWFLAKES; i++) {
            buffer[snowflakes[i].y][snowflakes[i].x] = '*';
        }

        // вывод буфера
        for (int i = 0; i < HEIGHT; i++) {
            printf("%s\n", buffer[i]);
        }

        // обновление координат снежинок
        for (int i = 0; i < SNOWFLAKES; i++) {
            snowflakes[i].y += 1; // падение вниз
            if (snowflakes[i].y >= HEIGHT) {
                snowflakes[i].y = 0; // возвращаем на верх
                snowflakes[i].x = rand() % WIDTH; // случайная горизонтальная позиция
            }
        }

        // задержка для анимации
        usleep(100000); // 0.1 сек
    }

    return 0;
}
AnonymUser
() автор топика
Последнее исправление: AnonymUser (всего исправлений: 2)
Ответ на: комментарий от LightDiver

А я вроде и поработал программистом (веб), но недолго. И какие-то свои проекты вроде реализовал. Но так и не могу сказать, что стал программистом. В общем и не стал им. На год делаешь перерыв и многое забывается. Оно вроде и интересно что-то поковырять, какие-нибудь алгоритмы простые относительно. Или чат какой-нибудь написать, для себя. А въезжать по полной, лопатить кучу тех. литературы не хочется.

С другой стороны писать особенно и нечего. Столько всего сделано, что ничего и не нужно.

AnonymUser
() автор топика
Ответ на: комментарий от enep

printf(«\xE2\x9D\x84\n»);

ИМХО, моветон. Да ещё и дублируется несколько раз.

Лучше дефайнить символ снежинки где-нибудь наверху.

devl547 ★★★★★
()
Последнее исправление: devl547 (всего исправлений: 1)
Ответ на: комментарий от algo

Correct, the latest standard has this paragraph as 5.2.2.3.4. This means that 1. main is not required to return int, it may return void, and 2. if main returns int-compatible value, no return is allowed and converted as exit(0).

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

VIT ★★
()
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <signal.h>
#include <ncurses.h>
#include <sys/ioctl.h>
#include <errno.h>

#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0]))

typedef struct {
        struct winsize ws;

        /* m middle */
        int mid_x;
        int mid_y;
} SCREEN_SIZE;
static SCREEN_SIZE ss;

typedef struct {
        int x;
        int y;
} ENTITY;
static ENTITY snow[100];
static ENTITY stars[50];

enum {
        COL_GREEN = 1,
        COL_YELLOW,
        COL_WHITE
};

void color_print(const int y, const int x, const char *str, const int color) {
        attron(COLOR_PAIR(color));
        mvprintw(y, x, "%s", str);
        attroff(COLOR_PAIR(color));
}

void sig_handler(int sig) {
        (void)sig;

        endwin();
        exit(0);
}

int main(void) {
        srand(getpid());

        /* Fill SCREEN_SIZE struct */
        if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ss.ws) < 0) {
                fprintf(stderr, "ioctl failed: %s\n", strerror(errno));
                return 1;
        }

        ss.mid_x = ss.ws.ws_col / 2;
        ss.mid_y = ss.ws.ws_row / 2;

        /* Init ncurses */
        initscr();
        noecho();
        cbreak();
        curs_set(0);

        /* Colors */
        start_color();
        init_pair(1, COLOR_GREEN, COLOR_BLACK);
        init_pair(2, COLOR_YELLOW, COLOR_BLACK);
        init_pair(3, COLOR_WHITE, COLOR_BLACK);

        if (!has_colors()) {
                endwin();

                fputs("colors are not supported by the terminal", stderr);
                return 1;
        }

        /* Update siganls */
        signal(SIGINT, sig_handler);
        signal(SIGKILL, sig_handler);

        /* Update snow */
        for (int i = 0; i < ARRAY_SIZE(snow); i++) {
                snow[i].x = rand() % ss.ws.ws_col;
                snow[i].y = rand() % ss.ws.ws_row;
        }

        /* Add stars */
        for (int i = 0; i < ARRAY_SIZE(stars); i++) {
                stars[i].y = rand() % ss.mid_y;
                stars[i].x = rand() % ss.ws.ws_col;
        }

        /* Main */
        while (1) {
                clear();

                /* Render stars */
                for (size_t i = 0; i < ARRAY_SIZE(stars); i++)
                        color_print(stars[i].y, stars[i].x, ".", COL_WHITE);

                /* Render tree */
                mvprintw(ss.ws.ws_row - 1, ss.mid_x - 3, "|_____|");

                for (int i = ss.ws.ws_row - 2; i > 0; i--) {
                        for (int j = 0; j < i; j++) {
                                color_print(i, ss.mid_x + j, "-", COL_GREEN);
                                color_print(i, ss.mid_x - j, "-", COL_GREEN);
                        }

                        if (i == 1)
                                color_print(i, ss.mid_x, "@", COL_YELLOW);
                }

                /* Update snow */
                for (size_t i = 0; i < ARRAY_SIZE(snow); i++) {
                        snow[i].x += -3 + rand() % 6;
                        if (snow[i].x < 0)
                                snow[i].x = ss.ws.ws_col;

                        else if (snow[i].x > ss.ws.ws_col)
                                snow[i].x = 0;

                        snow[i].y++;

                        if (snow[i].y >= ss.ws.ws_row)
                                snow[i].y = 0;
                }

                /* Render snow */
                for (size_t i = 0; i < ARRAY_SIZE(snow); i++)
                        color_print(snow[i].y, snow[i].x, "*", COL_WHITE);

                refresh();
                usleep(100000);
        }
}

Нашел свой старый код

anonymous
()
Ответ на: комментарий от anonymous

При попытке скомпилировать ( что я делаю я не так я??):

/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/cc7DQSbl.o: предупреждение: перемещение указывает на «stdscr» из раздела только для чтения «.text»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/cc7DQSbl.o: в функции «color_print»:
ls.c:(.text+0x21): неопределённая ссылка на «stdscr»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x30): неопределённая ссылка на «wattr_on»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x50): неопределённая ссылка на «mvprintw»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x60): неопределённая ссылка на «stdscr»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x6f): неопределённая ссылка на «wattr_off»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/cc7DQSbl.o: в функции «sig_handler»:
ls.c:(.text+0x82): неопределённая ссылка на «endwin»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: /tmp/cc7DQSbl.o: в функции «main»:
ls.c:(.text+0x126): неопределённая ссылка на «initscr»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x12b): неопределённая ссылка на «noecho»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x130): неопределённая ссылка на «cbreak»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x13a): неопределённая ссылка на «curs_set»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x13f): неопределённая ссылка на «start_color»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x153): неопределённая ссылка на «init_pair»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x167): неопределённая ссылка на «init_pair»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x17b): неопределённая ссылка на «init_pair»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x180): неопределённая ссылка на «has_colors»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x18c): неопределённая ссылка на «endwin»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x2ba): неопределённая ссылка на «stdscr»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x2c2): неопределённая ссылка на «wclear»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x342): неопределённая ссылка на «mvprintw»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x597): неопределённая ссылка на «stdscr»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: ls.c:(.text+0x59f): неопределённая ссылка на «wrefresh»
/usr/lib/gcc/x86_64-pc-linux-gnu/11.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: предупреждение: создаётся DT_TEXTREL в PIE
collect2: ошибка: выполнение ld завершилось с кодом возврата 1

AnonymUser
() автор топика
Последнее исправление: AnonymUser (всего исправлений: 2)
Ответ на: комментарий от yars068

Я вот после нового года откопал на авто денди-клавиатуру как у меня была, рабочая. Счастливый как кот, правда картриджа с бейсик ом нету. Но раздобуду. Мечтаю сделать приставку в порт джойстика с магнитофон ом и сохранять на него программы. Мечта детства, тока теперь я ещё и электронику достаточно знаю чтоб и свой картридж сделать

pihter ★★★★★
()
Ответ на: комментарий от LightDiver

Помню у меня был компьютер Magic05 набор отверток, куча шнурков, задроченный советский переносной магнитофон, кучка журналов «Юный техник», а чуваков с приставками мы считали мажорами и лентяями.

splinter ★★★★★
()
Ответ на: комментарий от yars068

Теперь, кстати, ничто не мешает туда полноценный дос собрать

Да я обалдел, когда узнал что у денди про как у макинтоша второго: оказывается у нас у всех дома мыл вполне себе комп и нужен был только картридж с пзушкой и выходом на магнитофон и эта штука была бы вдвое круче спектрума. Ну и Клаву на паре микросхем в порт джойстика и даже мышь

pihter ★★★★★
()
Ответ на: комментарий от papin-aziat

Да. Полностью согласен. Повезло, если вынесло из сферы (как и меня) или не впустило в нее, на профессиональном уровне.

P.S. Лучше дома «поиграться в программиста».

AnonymUser
() автор топика
Ответ на: комментарий от devl547

моветон

С чего это мовитон? Что по поводу дублирования, то это решаемо опьтмизается редактирования кода.

enep ★★★★★
()
Ответ на: комментарий от CrX

Когда видишь много рекламы или упоминаний чего-либо на разных ресурсах, то появляется ощущение «сознательного навязывания». Так было и есть с ИИ, который, если честно, лично мне фактически не нужен. Поиграться, если только. Так было даже с PHP, на мой взгляд, некоторое время назад. Но лет 15 назад никто не скрывал, что очень нужны веб-программисты и php продвигали активно. И тут, наверное, даже оправданно.

P.S. Мне, кстати, вообще три языка пришлись по нраву, вернее, я вижу смысл учить даже сейчас.

  1. C - (для писАния консольных программ, ибо они вечны)
  2. Bash - (администрирование - кстати, именно тут как-то по моему личному мнению оправданы нейронные сети)
  3. PHP - (веб - страничку почти все мечтают сделать сами :))

Добавил бы Ассемблер (но, имхо, лучше с этим языком только познакомиться), ибо специфично, архаично, контрпродуктивно в нынешней ситуации (хотя, если очень хочется…).

AnonymUser
() автор топика
Последнее исправление: AnonymUser (всего исправлений: 2)
Ответ на: комментарий от AnonymUser

C - (для писАния консольных программ, ибо они вечны)

Bash - (администрирование - кстати, именно тут как-то по моему личному мнению как-то проавданы нейронные сети)

PHP - (веб - страничку почти все мечтают сделать сами :))

Забавно, что все три - максимально ненавистны для меня оказались. Вместо си мне зашел раст, деревянный баш стараюсь вообще по самому возможному минимуу, делая все на луа или питоне (и даже в терминале zsh), а к пхп вообще какая то изначальная первородная неприязнь - я лучше все на js(ts) запилю.

Я вообще заметил, что есть два достаточно разделенных мира и один не любит другой обычно. Как раз вот по этим инструментам обычно.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от AnonymUser

появляется ощущение «сознательного навязывания»

Понятно. То есть, это из области каких-то внутренних заморочек, а не фактического «навязывания».

Я, кстати, рекламу раста ни разу не видел. Упоминания — да. В разных контекстах. Но не уверен, что их сильно больше, чем того же Си или Питона. Рекламы (даже скрытой) — практически не встречается.

С ИИ ситуация немного иная. Вокруг него действительно есть раздувание хайпа, что можно считать (не особо тщательно) скрытой рекламой. Да и открытой рекламы полно (заходишь на какой-нибудь яндекс, и тебе тут же в лицо «а вот попробуй новую в 100500 раз более лудтщую Алису»). Именно прям навязывания я, правда, тоже не встречал.

Ну то есть, навязыванием я бы назвал ситуацию с systemd — когда никто не ждал, никто не просил, но оно само постучалось в двери (прилетело с обязательным обновлением в любимом дистрибутиве), и пришлось либо учить, либо менять дистрибутив. Вот такое да, на мой взгляд, можно считать навязыванием. А просто частые упоминания раста в окружающем инфополе — совсем нет.

CrX ★★★★★
()
Ответ на: комментарий от CrX

(заходишь на какой-нибудь яндекс, и тебе тут же в лицо «а вот попробуй новую в 100500 раз более лудтщую Алису»)

Это не про ИИ - это про мерзопакостный яндекс. Тут даже блокировщики рекламы не помогает, я просто перестал заходить на его сервисы.

Я, кстати, рекламу раста ни разу не видел. Упоминания — да. В разных контекстах.

Зато много упоминаний, где именно на раст переписывают старательно, причем в рамках крупных фирм - это воспринимают навязыванием.

LightDiver ★★★★★
()
Ответ на: комментарий от AnonymUser

Ну ладно. Но уж скормить-то ИИ, чтобы он проверил на уязвимости, и предложил свои улучшения - обязательно нужно!

Chiffchaff
()
Ответ на: комментарий от LightDiver

Я вообще заметил, что есть два достаточно разделенных мира и один не любит другой обычно.

ХЗ… Мне из перечисленного нравится C, и я нормально отношусь к Bash (свои скрипты пишу не конкретно на Bash, а более универсально, на условном POSIX Shell) — для своих задач он норм, тут главное не пытаться им делать то, для чего он не предназначен — сделать-то получится, но выглядеть будет отвратно, и удовольствия будет мало. Сильную неприязнь испытываю только к PHP.

Но при этом у меня и к JS такая же неприязнь. Приходится, за неимением альтернатив, на фронте его юзать, конечно, но радости в этом мало.

При этом мне вполне норм и Раст. Только я не считаю его убийцей Си. Его ниша скорее соответствует нише C++ (к которому я тоже отношусь с презрением), а также отчасти D и Go (да, разные подходы к управлению памяти и т.п., но я не об этом).

Так что, если и есть именно два параллельных мира, то они явно как-то иначе делятся, чем в твоей картине. Ну либо миров несколько больше.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Так что, если и есть именно два параллельных мира, то они явно как-то иначе делятся, чем в твоей картине. Ну либо миров несколько больше.

Просто ты нормальный. Такое изредка тоже бывает.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Это не про ИИ - это про мерзопакостный яндекс. Тут даже блокировщики рекламы не помогает, я просто перестал заходить на его сервисы.

Тоже верно. Но я старался охватить в целом информационное поле, и сказать, что рекламы ИИ нет, было бы неправильно. Зазывает в свои ИИшки далеко не только яндекс. Другию просто делают это немножко менее в лоб. Но именно что немножко.

Зато много упоминаний, где именно на раст переписывают старательно, причем в рамках крупных фирм - это воспринимают навязыванием.

На самом деле этих упоминаний не так и много. Пожалуйста, не надо говорить «ну а как же убунта с её корутилами глючными» и приводить может ещё 2–3 примера. Давай пропустим этот этап — наличие именно вот такого небольшого количества, хоть и ярких, примеров на слуху, как раз скорее показывает, что этого не так и много.

Ну а так переписывают и переписывают — жалко что ли. Когда коту делать нечего, он яйца лижет. Я не ощущаю в этом процессе какого-то навязывания.

CrX ★★★★★
()
Ответ на: комментарий от CrX

и сказать, что рекламы ИИ нет, было бы неправильно

Честно говоря, я рекламы конкретно ИИшек не видел ни разу. Яндекс не считаем - это спам без смысла и цели.

Все что я узнал про ИИшки, мне донесли знакомые, сами юзеры. Причем я долго скептически относился и не хотел даже пробовать. Просто скинули ссылку как то и попробовал. Но чтобы конкретно реклама - хз.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от LightDiver

Ну смотри, вот впиливание специального интерфейса нескольким специально отобранным онлайн-ИИшкам в Firefox — это «реклама» или нет? На мой взгляд — вполне. Как и выбор, например, поисковика по умолчанию, скажем.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Это настолько же реклама, насколько реклама - встроенный поиск через яндекс или гугл. За это даже платят, кстати.

Но с другой стороны - это необходимая функциональность, которую если сейчас не догнать, потом вылетишь с рынка.

Да и какая тут нахрен реклама, если они сразу треть мира отрезали от себя, закуклившись в своем золотом миллиарде? Как появилась эта панелька в фф, я потыкал - все залочено нахрен и неудобно. И больше не открывал.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от LightDiver

Ну не прям совсем не любят. JS - нормальный язык. И как в 26 жить без Аякс? Да и вообще я иногда WinXp пользуюсь. :), а так, конечно, сдуваю пылинки с идеально настроенной Gentoo (это уже почти переросло в фанатизм :))

Пайтон одно время вообще хотелось выпилить отовсюду. Даже видел тему: «а есть ли дистрибутив Линукс без Пайтона?!». Встречал народ, который считает, что кроме баша и С вообще ничего не нужно. И даже X windows system не нужнО. В принципе в этом что-то есть, в консоли ведь все есть: и видео посмотреть, и фото, и в Интернет залезть и всякие там айэрси есть. Вот только с почтой работать трудновато.

Вообще такое разделение миров было. Но сейчас, на мой взгляд, все немного изменилось. Тот же PHP «идет в комплекте» с html + css + mysql + js. Но у PHP есть некоторые нюансы, за который его вполне можно невзлюбить. А так, - был мягкий вход в сферу: html + css. Затем JS и/или PHP, затем mysql, администрирование веб-серверов и вуаля! Человек может стать вполне себе разработчиком высокоуровневых программ… и делать что-то полезное, может быть, даже неплохо зарабатывать, какое-то время, разумеется. Т.е. - это вопрос специализации. Если нравится копаться в Андрлоидах, то в общем-то PHP не нужен.

Я в вебе что хотел сделать, то сделал. Сейчас как-то не очень интересно стало еще и из-за появления множества готовых решений.

AnonymUser
() автор топика
Ответ на: комментарий от LightDiver

Что ж, ты последовал совету одного популярного писателя: «Пишите, только если не можете не писать.»

papin-aziat ★★★★★
()
Ответ на: комментарий от CrX

У PHP действительно есть или был ряд недостатков, которые всё портят.

Но важен исторический аспект этого языка: для чего он создавался?

Фактически для автоматической генерации html кода. Даже не берусь сказать, рассчитывал ли автор на такой длительный сериал :) Еще момент - php написал на C и ему подобен. Т.е. php может быть и медленным входом в C.

В плане веба: если отбросить mysql и оставить только php, может, чуток js и html с css, и делать простые сайты на файлах, вполне можно писать достаточно быстрые и защищенные страницы. Это при условии если сайт в основном информационный. Тема самограничения. Иногда от чего-то нового и крутого стоит отказаться в пользу старого и вечного. С одной стороны php платформонезависимый язык, с другой стороны его использование подразумевает наличе хорошего веб-сервера (правильно настроенного и т.д.), что в конечном счете приводит к вопросу: а какая система должна быть на сервере?! И тут начинается ещё один сериал с выбором, как правило, между Win и Lin.

В общем вопрос специализации и необходимости. Кому-то надо, кому-то не надо.

AnonymUser
() автор топика
Последнее исправление: AnonymUser (всего исправлений: 2)
Ответ на: комментарий от AnonymUser

php платформонезависимый язык, с другой стороны его использование подразумевает наличе хорошего веб-сервера

PHPать можно и без веб-сервера

vM ★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария