LINUX.ORG.RU

PHP 8.4 — большое обновление языка

 

PHP 8.4 — большое обновление языка

1

2

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

Основные изменения

  • Хуки свойств обеспечивают поддержку вычисляемых свойств, которые могут быть понятны IDE и инструментам статического анализа, без необходимости писать DocBlock-комментарии, которые могут не совпадать. Кроме того, они позволяют выполнять надёжную предварительную или последующую обработку значений, без необходимости проверять, существует ли в классе соответствующий геттер или сеттер.
  • Асимметричная область видимости записи свойства теперь может контролироваться независимо от области видимости чтения свойства, что уменьшает необходимость использования шаблонных методов-геттеров для раскрытия значения свойства без возможности его изменения извне класса.
  • Новый атрибут #[\Deprecated] расширяет существующий механизм объявления сущности устаревшей для пользовательских функций, методов и констант классов.
  • Новый DOM API, который поддерживает разбор HTML5-документов в соответствии со стандартами, исправляет несколько давних ошибок в поведении DOM и добавляет несколько функций, делающих работу с документами более удобной. DOM API доступен в пространстве имён Dom. Документы, использующие новый DOM API, могут быть созданы с помощью классов Dom\HTMLDocument и Dom\XMLDocument.
  • Новый объект BcMath\Number позволяет использовать объектно-ориентированный стиль и стандартные математические операторы при работе с числами произвольной точности. Эти объекты неизменяемы и реализуют интерфейс Stringable, поэтому их можно использовать в строковых контекстах, например, echo $num.
  • Добавлены функции array_find(), array_find_key(), array_any() и array_all().
  • Добавлены дочерние классы Pdo\Dblib, Pdo\Firebird, Pdo\MySql, Pdo\Odbc, Pdo\Pgsql, Pdo\Sqlite драйверов, наследующие PDO.
  • К свойствам и методам только что инициализированного объекта теперь можно обращаться, не оборачивая выражение new в круглые скобки. Пример: new MyClass()->method() без скобок.
  • Новые классы, интерфейсы и функции и многое другое…

>>> Подробности

★★

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

Я не хейтер, и более того я одобряю пхп, а ты нуб и не умеешь читать.

Как правило когда у людей заканчиваются аргументы и они никак не хотят признать что они наркоманы, они переходят на личности.
КросссафффчЕГ…! Что же мы тут все тупые с тобой спорим? Ай да молодцы лучше нубить будем, да щи лаптем хлебать. Куда нам с мусье в сообразительности тягаться…

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

Как правило когда у людей заканчиваются аргументы

У тебя они и не начинались, ты выдёргиваешь рандомно пару слов из комментария и сопровождаешь эту цитату пачкой не особо осмысленного бреда. Повторю, научись читать перед тем как отвечать.

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

Всё! Я обиделся, заплакал и выключил компьютер

Shprot ★★
() автор топика
Ответ на: комментарий от alt-tab-let

Да. Я вообще в php-фреймворках не вкурсе, интересно.

А мне показалось что ты троллишь.

1. Фреймворк - это продукт написанный на языке программирования;

2. Вопрос «если ли продукт написанный на одном языке программирования, под другим языком программирования» - априори абсурден, как абсурдно и сравнение языков по наличию этого продукта. А у тебя на айфоне есть настройки андроида как у меня на ксяоми? Нет? Говно этот твой айфон, даже настроек андроида нет. Примерно твоя логика;

3. Фреймворк - это набор рутинных функций, упрощающий создание конечного продукта и по возможности абстрагирующий разработчика от низкоуровневого кода. Поэтому вопрос твой должен звучать «есть в ли PHP фреймворк, для упрощения разработки приложений класса Х».

Тогда бы мы улыбнулись и ответили, что твой Flask сделан на коленке для школьников, а здесь юзают титанов с мировым именем - Laravel, Symphony, Yii, и еще десяток которые я не помню, потому что PHP использую для написания компонентов ОС.

Одно время я пытался писать на Python'е эти самые компоненты. Неудобно и малопродуктивно. Дебильное разделение блоков, слабый функционал со строками и массивами, включая операторы, невысокая скорость работы достаточно большого кода, отсутствие инклудов в рантайме, и многое другое что упрощает жизнь.

Так что если PHP и С находятся в разных нишах и в принципе не конкурируют друг с другом, то Питону здесь ловить нечего, кроме разве что помочь разрабу быть нитакусиком.

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

очевидно что переменная a в данном контексте содержит значение «JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC».
далее, для упоротых - разверну,

a = "JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC"
a.split(',').each do |t| puts t end

etwrq ★★★★★
()

В пшп уродские методы работы с XML, Domdocument не совместим с XPath.

Плюс, мне в языке не хватает File-Concatenate / inode-merge – я в самодельной CMS симулирую работу БД, и такая функция мне была бы полезна.

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

Шо самое интересное, хейтят PHP в основном по религиозным причинам.

Совершенно согласен. Ведь всякому истинно верующему должно быть хорошо известно, что единственный Ъ-язык, благодатный Perl, уже был сниспослан нам пророком Ларри Уоллом, и ничего другого человеку не нужно. PHP это не более чем секта еретиков и отщепенцев, которая не смогла узреть свет благодати перловой.

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

Родственник перла - это недостаток, а не преимущество. Вопреки перлу вышел хороший язык.

Перл великолепный язык. Он воплощает понятие программистского экуменизма и унитаризма, раскрывая свои объятия для всех, даже тех, кто пишет нечитаемый потом код. Перл рад всем. Во Перле нет греха. И с особым пиететом Перл относится к душеспасительной задаче обработки текста, которая по праву занимает в сердцах всех юниксоидов особое место.

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

Хуки свойств - подсмотрели у Kotlin

Все всё подсмотрели у ЛИСП из 80-х.

Лично мне больше интересен новый jit-компилятор и ленивые объекты.

no-such-file ★★★★★
()
Ответ на: комментарий от chkalov

непоследовательный дизайн

Можно предъявить любому языку который используется на практике и существует более 10 лет. Хотя бы потому, что даже если автор был гением и использовал академический подход к дизайну языка, то за 10 лет многое поменялось и то что было логичным идеалом, стало странным архаичным говном.

Тот документ, 12-летней давности суммировал опыт использования пыха за предыдущие 10 лет. Итого мы имеем устаревшие на 20 лет тезисы. Любому кто тыкает этим документом можно в ответ тыкать утверждением «640 килобайт хватит всем» и т.п.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 2)
Ответ на: комментарий от Norgat

сравнивать надо с каким-нибудь python, где будет

Ты не поверишь…

foreach(explode(',', 'JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC') as $m) echo "month = {$m}\n";

Найдите 10 отличий (с)

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от alt-tab-let

Я вообще в php-фреймворках не вкурсе, интересно.

В пыхе щас дрочат на стандарты (PSR), так что можно надёргать разных компонентов через composer и собрать свой условный flask. Для примера можешь потыкать slim или flight.

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

Так мысль не в этом была, а в том, что сравнивать седан с камазом бессмысленно)

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

А теперь давай посчитаем сколько CMS есть на PHP и Python.

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

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

Тогда бы мы улыбнулись и ответили, что твой Flask сделан на коленке для школьников, а здесь юзают титанов с мировым именем - Laravel, Symphony, Yii, и еще десяток которые я не помню, потому что PHP использую для написания компонентов ОС.

Пхп-фреймворки не нужны, в нём всё нужное есть в самом языке. А фреймворки пишут графоманы и каргокультисты других языков.

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

ru.php:

<?php
function out() {
echo "Привет, мир";
}
en.php:

<?php
function out() {
echo "Hello, world";
}

index.php:

<?php
$lang = "en";
// Можно сделать сложно
if ($lang=="en") {include("en.php");}
if ($lang=="ru") {include("ru.php");}
// А можно проще
include("$lang.php");
out();

Более того, тупорылый пистон, скорее всего, с вероятностью в 99% скажет в таком случае что-то типа «Функция out() undefined» или что-то в этом роде, еще на этапе запуска, хотя согласно визуально-очевидному алгоритму это неправда.

Но интересно увидеть изящный аналог этого на питоне.

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

Пхп-фреймворки не нужны, в нём всё нужное есть в самом языке. А фреймворки пишут графоманы и каргокультисты других языков.

100%, но людям же хочется.

Впрочем в самой концепции фреймворка не вижу ничего плохого. Вот эти которые 3rd-party я не использую, но для своих небольших поделий пишу их как врапперы для того чтобы абстрагироваться от динамически изменяющегося кода.

Условно говоря проще один раз написать функцию типа «select_from» для запроса с БД, юзать ее в коде, и менять во фреймворке в зависимости от версии пыха, а то и типа БД. Чем менять mysql_query на mysqli_query в коде.

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

Используя пример, что я дал выше:

ru.py

def foo(): print('Привет, мир')

en.py

def foo(): print("Hello, world!")

swap.py

import importlib

def call_foo(lang):
  importlib.import_module(f'{lang}').foo()

call_foo('ru')
call_foo('en')

Вызов:

PS D:\kyc\test> python .\swap.py
Привет, мир
Hello, world!

В примере, файлы ru.py, en.py, swap.py лежат в одной директории. Это все так же можно поменять, как и добавить еще директорий для поиска модулей.

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

Хоть не питонист, но навоял. ru.py:

def hello(): print('Привет, мир')

en.py:

def hello(): print('Hello, world')

Через просто import, import_example.py:

#!/usr/bin/env python3

lang = 'ru'
if lang == 'ru':
    from ru import hello
if lang == 'en':
    from en import hello

hello()

Но можно и проще с importlib, importlib_example.py:

#!/usr/bin/env python3

import importlib

lang = 'ru'
mod = importlib.import_module(lang)
mod.hello()

Вообще для меня главным стоппером от питона было то, что нельзя в шаблон встроить текст, например, index.php:

<?php $a = 22; ?>
Текст
<?php $b = 33; ?>

И получается что нужно писать шаблонизатор или корячится со строками и кавычками

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

В школе учить языку программирования вообще не нужно, если это не очень специализированная школа.

Почему люди постоянно смешивают обучение программированию (да, да, те самые алгоритмы и типы данных) с изучением конкретного ЯП? Особливо когда сами уже изучили один-два… десятка ЯП и думают, шо детишки, которые под «программа» понимают «игрулька», смогут учить конкретный ЯП, не понимая, чем ветвление отличается от выбора, поскольку оба два вообще не ведают?!

Уж если шо, то алгоритмы уровня «школота» лучше записываются Паскалем, а типы данные нагляднее конструировать в Луа. Вот только и тут не след забывать, что пособие по языку или пособия по программированию на языке не тождественны пропедевтическому пособию по программированию.

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

Ветвление и прочее это все не особо полезно, а вот скрипты для автоматизации какой то деятельности, или работа с готовыми API это полезно в современном мире. Будут следить за курсом биткоина через API Binance, что бы не получать учительскую зарплату.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от alt-tab-let

Да, называется PHP (ну ладно, LAMP). Все возможности уже в него включены.

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

вот скрипты для автоматизации какой то деятельности

Скрипты – это шелл, но даже там нужно ветвление и циклы.

работа с готовыми API

Какими? Научим мы детишек вызывать WinAPI ассемблерными вставками из FORTRAN, а к тому времени, как они придут на работу, даже дома будут компы на Эльбрусах/Байкалах с Астрой/Альтом на борту. Особенно всё это весело в свете того, что 99% работ с «вызовом API» не связано, поскольку вообще не связано с компами или связано очень опосредовано инструкцией, в какой последовательности нажимать «вот эти 5 кнопок» на электропогрузчике, где 1 и 5 кнопки это включить и выключить, а 4 средние это ввод пароля 1234.

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

Скрипты – это шелл, но даже там нужно ветвление и циклы.

Скрипты пишутся на многих языках.

Какими?

Я пример предоставил, данные по курсу биткоина. Даже скриптование экселя полезнее паскаля, будут экономить время на офисных работах.

Или вот помню заставляли вести дневник погоды или чето типа того, лучше пусть он сам ведется через апи к погодным сервисам! А данные пусть кложут в MS Access.

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

Такое скриптование уже не особо нужно. ChatGPT с легкостью заменяет умение писать скрипты подобного рода.

Запрос:

Напиши программу на питоне которая будет ежедневно ходить на погодный сервис и узнавать текущую погоду (температура, осадки, давление). Данные сохраняй в файл csv.

Ответ:

import requests
import csv
import schedule
import time
from datetime import datetime

# Ваш API-ключ от погодного сервиса
API_KEY = "ваш_api_ключ"
CITY = "Moscow"  # Укажите свой город
URL = f"http://api.openweathermap.org/data/2.5/weather?q={CITY}&appid={API_KEY}&units=metric"

# Имя файла для хранения данных
CSV_FILE = "weather_data.csv"

def fetch_weather():
    try:
        response = requests.get(URL)
        response.raise_for_status()
        data = response.json()
        
        # Извлечение нужных данных
        temperature = data["main"]["temp"]
        pressure = data["main"]["pressure"]
        weather = data["weather"][0]["description"]
        date_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

        # Запись в CSV
        write_to_csv([date_time, temperature, weather, pressure])
        print(f"[{date_time}] Weather data saved successfully.")
    except Exception as e:
        print(f"Error fetching weather data: {e}")

def write_to_csv(row):
    # Проверка, существует ли файл
    file_exists = False
    try:
        with open(CSV_FILE, 'r'):
            file_exists = True
    except FileNotFoundError:
        pass

    # Запись в файл
    with open(CSV_FILE, mode="a", newline="", encoding="utf-8") as file:
        writer = csv.writer(file)
        if not file_exists:
            # Запись заголовков, если файл новый
            writer.writerow(["Date Time", "Temperature (°C)", "Weather Description", "Pressure (hPa)"])
        writer.writerow(row)

# Ежедневное задание
schedule.every().day.at("08:00").do(fetch_weather)  # Укажите желаемое время выполнения

print("Weather tracker started. Press Ctrl+C to stop.")
while True:
    schedule.run_pending()
    time.sleep(1)

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

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

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

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

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

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

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

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

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

Но есть нюанс, у того же гпт можно попросить объяснить что и как делает написанный им код. Молодые ребята быстро обучаются и у них в голове будет уже паттерн - спросить у гпт, попросить разъяснить, сказать ему как поправить код. Так что умение писать много простого кода будет постепенно отправляться на свалку.

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

Многие профессии ждут подобные изменения, уже писал про это на форуме.

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

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

Не верю, скорее всего нужно будет постоянно с ним сидеть и исправлять. Такой программист-тестировщик кода жпт.

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

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

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

Все что ему нужно для повышения уровня сейчас - это больше контекста в решаемых задачах. Что это означает? Это означает, что нужно максимально много инфы давать (код проекта, ТЗ и тд).

Сейчас это ограничено стоимостью обработки (каждый символ на входе стоит денег, картинки, видео и звук тоже в символы перекодируют). Сейчас в штатах запускают три кластера по 100к видеокарт для обучения новых версий. Когда завершают использование старых карт в обучении никто их выкидывать не будет.

Значит будет снижение стоимости запросов и расширение контекста (сейчас в b2b api у всех там есть ограничение на размеры промптов которые можно скормить gpt + ограничение на кол-во выходных пропмтов).

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

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

Даже в задачах где контекста хватает он лажает, и подозреваю что увеличение не линейно обходится по мощности, особого прогресса с GPT-3 я не заметил. Скорее вижу улучшения в инструментах, способах контроля, OpenAI тоже над этим работает.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)

Java уже не торт. Пришло время переписать LOR на PHP.

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

Скрипты пишутся на многих языках.

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

данные по курсу биткоина

Учить, как вляпаться в очередную финансовую пирамиду, поучаствовать в тюльпанной лихорадке XXI века?

Даже скриптование экселя

Реально бездарная трата времени. Либо пиши прогу обработки данных хоть на R, хоть на Питоне, хоть на PHP, либо используй Ексель для ручной работы. Сейчас уже с риском использования ПО из недружественной страны, запретившей покупать её ПО.

Или вот помню заставляли вести дневник погоды

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

Т.о. все ваши предложения ещё менее осмысленны, чем ведение пропедевтического курса программирования на Паскале/Луа/Питоне.

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

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

Да не, нужно знать скорее как загуглить тему на stackoverflow, это если ты сторонник старого подхода, или как спросить у чатжпт если нового.

Реально бездарная трата времени. Либо пиши прогу обработки данных хоть на R, хоть на Питоне, хоть на PHP, либо используй Ексель для ручной работы. Сейчас уже с риском использования ПО из недружественной страны, запретившей покупать её ПО.

В LibreOffice тот же язык скриптования. В OnlyOffice не знаю что, если JS то не велика проблема, там везде примерно одинаковый API, получить документ, вкладку, ячейку.

Это делалось вовсе не для того, чтобы школьник собирал некие данные

Теперь будет для демонстрации полезности скриптов.

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

нужно знать скорее как загуглить тему на stackoverflow, это если ты сторонник старого подхода, или как спросить у чатжпт если нового.

Эти подходы столь же бессмысленны, как машинный перевод эссе с родного на полностью незнакомый тебе язык. Это как попытаться использовать тот же чужой баш-скрипт, не врубаясь, а что именно делает конструкция [ "$?" -ne "0" ];

В LibreOffice тот же язык скриптования.

Там давно уже Питон, а была Джава.

Теперь будет для демонстрации полезности скриптов.

И ещё раз, зачем скрипты, если любой школьник просто погуглит в Яндеске погоду? Да просто открываешь ya.ru и тебе пишется температура и облачность? Сдавать-то всё равно будешь «бумажную копию» в виде таблички в тетради, написанную от руки.

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

В LibreOffice тот же язык скриптования.

Там давно уже Питон, а была Джава.

https://help.libreoffice.org/latest/ru/text/sbasic/shared/vbasupport.html

И ещё раз, зачем скрипты, если любой школьник просто погуглит в Яндеске погоду?

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

Сдавать-то всё равно будешь «бумажную копию» в виде таблички в тетради, написанную от руки.

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

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

То, что LO поддерживает формат MSO, не означает, что в LO следует использовать мсо-шный Васик.

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

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

Что дальше, как тысячи лет назад писать мелом на камне?

Не, доски давно стеклянные. Теперь часто металлические, а писать специальным маркером.

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

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

Можно и несколько языков смешивать, API это PHP, считать в LibreCalc. Pascal можно преподавать на уроках компьютерной археологии, я бы на такой ходил если бы был, туда же Fortran, Cobol, Forth, Lisp.

MOPKOBKA ★★★★★
()

его уже переписали на руст или еще нет?

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

Можно и несколько языков смешивать,

Нельзя. Вы в преподавании ни в зуб ногой. Запомните максиму: всего МАЛО. Время урока, ученика и учителя ограничены, интеллектуальные ресурсы ученика и учителя конечны, интересы учащихся разнообразны, изменчивы и очень-очень редко когда совпадают со школьной программой.

Pascal можно преподавать

И вы опять делаете всё ту же ошибку, путая изучение ЯП с пропедевтическим курсом программирования. Нет, в школах не надо преподавать Паскаль. Или ЛЮБОЙ другой язык. А Фортран и Лисп живы, но Фортран, причём с ещё IV, следует преподавать лишь физикам, современный – инженерам, а Лисп (CL) для математиков, лишь они с ходу имеют предметную область задач для программирования на CL.

Любые же «боевые» языки – удел программистов-профессионалов, в том смысле, что программирования на ЯП – профессия. Даже если это вэбня на PHP.

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

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

Без нужного ЯП, нельзя будет подтягивать курс биткоина. На паскале нету простого способа работы с ... да в принципе с чем угодно. Цель научить выполнять компьютер записанные команды, небольшие скрипты на PHP я считаю отлично подойдут, вместо скучных алгоритмов на паскале.

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

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

что программирования на ЯП – профессия

Когда-то писарь было профессией. Владение ЯП такой же необходимый навык для развитого человека как владение английским например. Хотя бы со словарём.

no-such-file ★★★★★
()
Ответ на: комментарий от MOPKOBKA

Без нужного ЯП, нельзя будет подтягивать курс биткоина.

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

Алле, гараж, даже не все компьютерные гики участвуют в биткоинт-аферах.

На паскале нету простого способа работы с

Так и не надо, ещё раз, в школе на программирование отводиться 20 (ДВАДЦАТЬ) часов в год, 2 – 5 лет. Чему «модному, стильному, молодёжному» за такое время можно научить, а? При условии, что ВСЕМ 85 ученикам в параллеле похер на информатику вообще и программирование в частности?

небольшие скрипты

Скрипты в принципе не подойдут, т.к. не знакомят с компиляцией.

на PHP

PHP, C, C++, Python, Perl и т.п не подходят для пропедевтики, поскольку это РАБОЧИЙ инструмент профессионалов и как таковые имеют очень большой набор, назовём это так, исключений из правил и заимствований. Т.о. при выборе чего-то такого получаем использование сильно кастрированного варианта ЯП, т.е. ученик всё равно не будет знать и уметь «боевой» ЯП.

Посмотрим на современный Питон. Пофиг даже на идиотизм с отступами в качестве операторных скобок. Но сколько он вобрал в себя концепций, конструкций, когда перешёл от простенького скриптования к попытке стать полноценным многоцелевым инструментом? Ещё чуть-чуть и Питон повторить судьбу PL/I, который, правда, изначально приписал себе столько возможностей, что ни один компилятор так и не смог реализовать их всех.

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

И каким способом вы сделаете понятным нужность скриптиков на PHP? Каким образом вы предлагаете готовить учителей, чтобы они могли понять написанные (переписанные с просторов Инета) учениками эти ваши скриптики на PHP, которые вроде бы должны работать, а работают совсем не так, как ожидалось из-за см. выше про исключения и заимствования?

Если уж смотреть на что-либо скриптовое, небольшое и внятное, то лучше уж Луа и упор на создание типов данных. Единственно, требуется написать учебник «Пропедевтика программирования с иллючтрациями на Луа».

mister_VA ★★
()
Ответ на: комментарий от no-such-file

Владение ЯП такой же необходимый навык для развитого человека

Зачем этот навык 99,99% людей, которые никогда в жизни не будут нуждаться в умении что-то запрограммировать?

как владение английским например

«Разве вы не знаете японский? Ведь все образованные люди знают японский» (С)-шутка из «Сверхъестественного».

И почему именно английским? Я вот сталкивался с задаваемыми мне вопросами на китайском, японском, хинди, финском, немецком австрийского извода, испанском, португальском.

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

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

Ты из 1960х пишешь? Опустим про дрова и радиоточку, смартфон тоже можно программировать.

Чему «модному, стильному, молодёжному» за такое время можно научить, а?

Я уже написал.

PHP, C, C++, Python, Perl и т.п не подходят для пропедевтики, поскольку это РАБОЧИЙ инструмент профессионалов и как таковые имеют очень большой набор, назовём это так, исключений из правил и заимствований.

Да и все равно, курс биткоина получили, им больше и не надо, сам же говоришь часов нету.

И каким способом вы сделаете понятным нужность скриптиков на PHP?

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

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

Так там тоже с батарейками проблема.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)

последний раз делал сайт для одной региональной компании на php4, с тех пор в пых даже не заглядывал. PHP4 актуален на фоне этого? Типа ООП уже во все поля или еще нет, хуки кстати дело годное.

splinter ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.