|
Пора на C++?
370 / 264 / 99
Регистрация: 10.04.2020
Сообщений: 1,275
|
|
Зачем нужен F#?06.08.2020, 16:30. Показов 47828. Ответов 131
Метки нет (Все метки)
Вы не подумайте, что я злодей. Просто зачем нужен F#, если есть C# или хотя-бы VB.NET, в которых возможностей больше?
0
|
|
| 06.08.2020, 16:30 | |
|
Ответы с готовыми решениями:
131
Зачем нужен LINQ? |
|
Модератор
|
||
| 30.08.2020, 00:13 | ||
|
bodyImpl нужно бы использовать в функции bracker, но возникает взаимная рекурсия через 3 функции. По этому применён костыль createParserForwardedToRef. В коде на Haskell ниже в той теме, который я механически перенёс с F#, костыль не требуется. На C# я парсек не пробовал, но оно есть.
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 30.08.2020, 02:24 | ||
|
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||||||||||||||||||||||
| 30.08.2020, 15:47 | ||||||||||||||||||||||
0
|
||||||||||||||||||||||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 31.08.2020, 09:07 | ||
|
0
|
||
|
6810 / 2308 / 350
Регистрация: 10.12.2013
Сообщений: 7,964
|
||
| 15.09.2021, 01:01 | ||
|
Хотя бы один пример. Пусть даже не полностью готовый. Да чорт с ним, пусть даже совсем не готовый, а только самую идею. А?
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 15.09.2021, 09:37 | ||
|
Плюс все эти неявные преобразования и прочие неявные вещи. ИМХО неудобный язык. Разве что копипастить и выполнять команды.
0
|
||
|
6810 / 2308 / 350
Регистрация: 10.12.2013
Сообщений: 7,964
|
||
| 15.09.2021, 13:22 | ||
|
Shamil1,
То есть, примера не будет ? выполнять команды. Ну, понятно, да.
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|||
| 15.09.2021, 14:54 | |||
|
0
|
|||
|
6810 / 2308 / 350
Регистрация: 10.12.2013
Сообщений: 7,964
|
|||
| 15.09.2021, 15:36 | |||
|
То есть, 21 год хитрожопый Джеффри Сновер морочит голову крупной софтверной корпорации,
будучи сам в её рядах, потрачено два десятилетия и миллиард долларов, а на выходе что-то настолько маловразумительное, что даже REPL вариант языка F# , который никто не собирался и не собирается использовать в качестве платформы для автоматизации, более удобен для подобных задач. Такое вот твоё ИМХО. которые из соображений производительности реализовываются на C#. Особых проблем в написании последних для нужд администрирования на собственно скрипте powershell нет никаких, архитектура и дизайн языка достаточны удобны. ( Отладчик, подсистема тестирования, модули, то, сё ... ). Сам язык не является образцом совершенства, конечно же и даже отчасти вызывает раздражение, но, тем не менее, его возможности таковы, что никакого другого shell рядом даже стояло.
0
|
|||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|||
| 15.09.2021, 16:51 | |||
|
Неудобно, когда без чтения документации нельзя понять, что возвращает функция. Неудобно, когда язык выполняет неявные преобразования по сложному алгоритму. В общем случае, любой тип может превратить в любой тип. Чаще всего это происходит неожиданно и всплывает далеко, от места ошибки в коде.
0
|
|||
|
Модератор
|
||
| 15.09.2021, 17:19 | ||
|
Насчёт PS, то я некогда пытался поработать через него с СОМ-объектом. Ничего не вышло. Знаю что с помощью C# это можно. Наверняка и через F# тоже. А мало ли что за COM-объект, работа с таким может, и для админской задачи требоваться.
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||||||
| 15.09.2021, 18:06 | ||||||
|
Curry,
Не в этом дело.
На практике: Строка 1 выводит две строки текста. Строка 3 выводит одну строку текста. А если закомментировать строку 1, то строка 3 выводит тридцать строк текста. Тридцать! Наверное, этому есть какое-то объяснение, но лично меня это бесит.
0
|
||||||
|
6810 / 2308 / 350
Регистрация: 10.12.2013
Сообщений: 7,964
|
|||
| 15.09.2021, 18:31 | |||
|
Про холивары вам виднее
Моя реакция была на пассаж от Shamil, что REPL F# для задач администрирования удобнее, чем весь powershell. И аргумент у него был такой же, да: 'я попробовал что-то, у меня не получилось.' Добавлено через 10 минут точно не на данном сайте; SO никто не отменял.
0
|
|||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|
| 15.09.2021, 18:40 | |
|
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
|
| 17.09.2021, 13:15 | |
|
Резюмирую вышесказанное мной:
Когда транслятор выполняет неявные операции, это упрощает задачу, если писать в стиле "напишу, не думая, а транслятор пусть сам решает, что я имел ввиду". Но иногда приводит к неожиданным последствиям. Как, например, в случае знаменитых сишных "if(x=0)" или js-ных "map(parseInt)". Из всех известных мне ЯП PowerShell - чемпион по количеству и сложности неявных операций. В первую очередь это касается преобразования типов и вывода в консоль. Формат вывода зависит от контекста (предыдущего вывода). Почему Get-ScheduledTask выдаёт разный результат Преобразование типов идёт по сложному алгоритму. Примерно так: https://devblogs.microsoft.com... ion-magic/ Проблема усугубляется тем, что эти алгоритмы толком не задокументированы. Кроме того, они зависят от внешних настроек (файлы форматов, зарегистрированные конвенторы) и, потенциально, ведут себя по-разному на разных компьютерах. Наверное, неявные преобразования удобны, когда тебе нужно выполнять команды в консоли или написать простой скрипт. Проблемы возникают, когда тебе нужно написать сложный скрипт и/или скрипт для других администраторов (на стороне клиентов по всему миру) и/или скрипт, который не перестанет работать на новых версиях ОС (я и с таким сталкивался). Поэтому лично мне F# более удобен. Но у F# есть два больших недостатка: 1) его мало кто понимает 2) нужно устанавливать дополнительно. Поэтому мне приходится писать на PowerShell (к счастью, редко).
0
|
|
|
Модератор
|
||
| 17.09.2021, 15:20 | ||
|
Иначе требуется много времени на отладку и тестирование.
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,890
|
||
| 17.09.2021, 15:39 | ||
|
0
|
||
| 17.09.2021, 15:57 | ||
|
Не по теме:
Альтернативой PS может быть js внутри HTA, я на HTA даже одно время инсталяторы делал.
0
|
||
| 17.09.2021, 15:57 | |
|
Помогаю со студенческими работами здесь
120
Зачем он нужен. ExecuteScalar(); Зачем нужен CancellationToken?
Зачем нужен модификатор out Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера»
Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит.
Придуман Биллом Госпером в 1970-х, опубликован в. . .
|
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb">
<style>
<!]>
</ style>
<g id="bush">
</ g>
</ svg>
function fn(){
let rost;/ / высота древа
let xx=165,yy=210,w=256;
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|