LINUX.ORG.RU
ФорумTalks

Субреддит pascal достиг тысячи подписчиков, а для Visual Studio Code появилось расширение с поддержкой Паскаля

 


0

3

Собственно, сабж.

Субреддит про Паскаль, у которого теперь тысяча подписчиков, здесь: https://www.reddit.com/r/pascal/ .

Расширение для Visual Studio Code с поддержкой Паскаля здесь: https://github.com/alefragnani/vscode-language-pascal .

★★★★★

Ответ на: комментарий от buratino

Разве это не конкретно для i386 написано, причём ещё в 2017-м году?

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

Тыща подпищиков, при адитории в миллиарды

Незарегистрированные юзеры не могут подписываться, так что, они не в счёт.

У r/windows там, например, 131k подписчиков. У r/Ubuntu 137k подписчиков. У r/cprogramming 6.8k подписчиков. У r/java 172k подписчиков. А у r/javascript 829k подписчиков.

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

у тебя окончательно протухли стереотипы. И сравнения неудачные

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

зы и как же вундеркинд который пришел на ЛОР в возрасте 11 sic! лет?

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

что такое есть в Delphi, чего нет в Lazarus’е?

в Delphi более полная поддержка WinAPI
несколько лет назад мне потребовалось написать программку для винды, которая читает файлы, у которых юникодные имена (в имени файла есть символы, не попадающие в win1251, поэтому открыть такой файл обычной функцией открывания файлов не получится)
я взялся было за лазарус, но обломался. пришлось расчехлить дельфи7

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

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

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

выкрутился? ))
а в дельфях велосипедить не приходится, всё уже удобно положено в windows.pas, готовое к использованию

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

Delphi - это Delphi. А Free Pascal Compiler, на котором основан Lazarus, поддерживает не только диалект Delphi и не только для винды. Он кроссплатформенный и совместим с другими диалектами Паскаля. В т.ч. и теми, где по дефолту текст в однобайтовой кодировке. Соответственно, это поведение может наследоваться и для диалекта Delphi. Тем более, что не так уж и сложно включить юникод при необходимости одной строчкой.

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

совместим с другими диалектами Паскаля. В т.ч. и теми, где по дефолту текст в однобайтовой кодировке

согласен, функции работы с файлами по умолчанию должны работать с дефолтной кодировкой ОС (в винде это 1-байтовая)

Он кроссплатформенный

да, фри-паскаль кроссплатформенный.
но замечу, что в фри-паскале есть файлик windows.pas, и этот файлик - нифига не кроссплатформенный, а только-виндовый
было бы логично, если в этом модуле присутствовали все функции, которые могут пригодиться пользователю в винде.
проще говоря, нужно тупо скопипастить все декларации WinAPI-функций из дельфёвого windows.pas в фри-паскальный, чтобы юзеру не пришлось велосипедить, выискивая в MSDN и вставляя руками в свой код заголовки WinAPI-функций.

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

Не совсем: на Линукс ты запустить только «серверную» часть.

grem ★★★★★
()

у которого теперь тысяча подписчиков

Ты же понимаешь, что по меркам реддита – это 1,5 человека?

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

При том, что именно она решила проблему тамошнего ТС.

А при чём тут проблема тамошнего ТС?
Моя проблема в том, что функции типа xCreateFileW в дельфях готовы к использованию и лежат в windows.pas, а вот в фри-паскале нужно руками забивать их в каждый исходник (а прежде чем забивать, их нужно ещё найти в документации).
борланд дельфи - это непревзойдённый комфорт кодинга.
а лазарус - это типичный опенсорс-подход «вот тебе напильник, вот тебе интернет с толпой таких же чуваков с напильниками, авось сам разберёшься как пилить; долго втыкать? ну и что? опенсорс - это же бесплатно, поэтому терпи»

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

а вот в фри-паскале нужно руками забивать их в каждый исходник

Но зачем? Ведь FileCreate делает всю работу за тебя, и тебе не нужно плавать в говне винапи (до сих пор, как вспомню эту мерзость, так тошнить начинает, а я ведь уже почти 20 лет под винапи не писал).

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

Моя проблема в том, что функции типа xCreateFileW в дельфях готовы к использованию и лежат в windows.pas, а вот в фри-паскале нужно руками забивать их в каждый исходник (а прежде чем забивать, их нужно ещё найти в документации).

uses Windows;
begin
  CreateFileW;
end.


> fpc.exe test.pas
Free Pascal Compiler version 3.0.4 [2019/10/27] for x86_64
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Win64 for x64
Compiling test.pas
test.pas(3,3) Error: Wrong number of parameters specified for call to "CreateFileW"
Error: Found declaration: CreateFileW(PWideChar;LongWord;LongWord;LPSECURITY_ATTRIBUTES;LongWord;LongWord;QWord):QWord;

То есть, CreateFileW компилятору известна (из модуля Windows).

Позвольте полюбопытствовать, зачем вы в FPC/Lazarus забиваете в каждый исходник то, что уже есть готовое, а в Delphi забиваете на эту привычку? В чём сакральный смысл?

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

Ведь FileCreate делает всю работу за тебя

FileCreate/FileRead/FileWrite - мне показались неудобными, когда я впервые знакомился с паскалем
в CreateFile/ReadFile/WriteFile можно подставить указатель на буфер, а вот в случае FileRead(… out Buffer…) придётся передавать переменную, являющуюся буфером
чаще всего есть переменная-указатель (или арифметическое выражение, вычисляющее указатель), но нет переменной-буфера
разыменовать указатель, конечно, можно, но это ухудшает читабельность кода, да и необходимость всегда помнить об этой неудобной фиче напрягает

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

То есть, CreateFileW компилятору известна

мне были нужны FindFirstFileW / FindNextFileW / MoveFileW
не знаю, есть ли они сейчас, но несколько лет назад их не было, а велосипедить мне не хотелось

Egor_
()
Ответ на: комментарий от Egor_
Error: Found declaration: FindFirstFileW(PWideChar;LPWIN32_FIND_DATAW):QWord;
Error: Found declaration: FindFirstFileW(PWideChar;var WIN32_FIND_DATAW):QWord;
Error: Found declaration: FindNextFileW(QWord;LPWIN32_FIND_DATAW):LongBool;
Error: Found declaration: FindNextFileW(QWord;var WIN32_FIND_DATAW):LongBool;
Error: Found declaration: MoveFileW(PWideChar;PWideChar):LongBool;


несколько лет назад их не было

Ничто не вечно под луной.

велосипедить мне не хотелось

Один раз на все проекты сделать

unit WinAdd;
interface

{ всё необходимое, но пока отсутствующее }

end.
черкнуть на форум FPC или, что лучше, отправить diff для модуля windows разработчикам — не велИк и вЕлик...

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

арифметическое выражение, вычисляющее указатель

Убивать.

чаще всего есть переменная-указатель

Рука отсохнет набирать ptr^?

FindFirstFileW/FindNextFileW/MoveFileW

FindFirstUTF8/FindNextUTF8/RenameFileUTF8

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

арифметическое выражение, вычисляющее указатель

Убивать.

гремлин не знает, что к указателю можно прибавить целое смещение?
а ведь это удобная и мощная фича паскаля, я не знаю как ты без неё кодил-то

всё время писать (ptr+n)^ вместо ptr+n реально неудобно, мне было проще выкинуть эти файловые функции и взять нормальные из WinAPI

я понимаю, что это кажется мелочью, но работая с дельфями, быстро привыкаешь к комфорту, и комфорта хочется всё больше и больше
я бы так и кодил на дельфях до пенсии, если не три фактора:

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

а ведь это удобная и мощная фича паскаля

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

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

работая с дельфями
WinAPI

А нахрена тебе вообще дельфи, если всё её удобство ты просто посылаешь лесом и кодиш на голом винапи?

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

А нахрена тебе вообще дельфи, если всё её удобство ты просто посылаешь лесом

  • FileCreate/FileRead - это не «всё удобство дельфи», это функции для студентов, правильные с академической точки зрения, но не очень удобные на практике
  • арифметика указателей - супер удобна,
  • гремлино-кодеру я бы порекомендовал алгол, а не паскаль )))
Egor_
()
Последнее исправление: Egor_ (всего исправлений: 1)
Ответ на: комментарий от gremlin_the_red

а ведь это удобная и мощная фича паскаля

Какого нахрен паскаля, в оригинальном это было запрещено, в паскаль это добавила борланд

всё совершенствуется, и турбо-паскаль лучше (практичнее и удобнее) оригинального паскаля

Egor_
()

Раз уж речь о паскале, ты случаем cudatext не пользуешься? На вид достаточно навороченный текстовый редактор с поддержкой плагинов на python3. В отличии от notepadqq они у него есть.

grem ★★★★★
()

Когда это говно мамонта уже закопают? Его даже автор закопал в свое время.

И так говен мамонта хватает, сишки той же.

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

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

нормальные люди для того же RAD уже лет 20 как пересели на .Net, а системщики на сишку

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

Нет. Я привык к vim'у, но собираюсь таки осилить emacs.

saahriktu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.