Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2017, 10:40   #1
mawotimug
Пользователь
 
Регистрация: 14.02.2017
Сообщений: 16
По умолчанию Выбрать язык программирования для "домашнего" использования

Довольно долго программировал на FoxPro в молодости, затем ушёл из профессионального программирования и с тех пор ищу язык "для личных нужд". Время от времени нужно что-то написать.

Вроде бы остановился на AutoIt. Вопрос: есть ли что-то сравнимое по скорости разработки?

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

Код:
#include <GUIConstantsEx.au3>

main()

Func main()
CreateWindow()
EndFunc

Func Dejat()
; Прочитать содержимое буфера обмена
Local $sClipBoard = ClipGet()

; заменить дореформенные буквы
Local $sNewText = ChangeLetters($sClipBoard)

; Заменить текст в буфере обмена
ClipPut($sNewText)

; вставить текст из буфера обмена
Send("^v")
EndFunc

Func ChangeLetters($sStr)
Local $sReturnStr = StringRegExpReplace($sStr, 'ія', 'ие')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'і', 'и')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ѣ', 'е')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ыя', 'ые')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ ', ' ')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ.', '.')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ,', ',')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ:', ':')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ;', ';')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ!', '!')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ?', '?')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ!..', '!..')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ?..', '?..')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ-', '-')
Local $sReturnStr = StringRegExpReplace($sReturnStr, 'ъ—', '—')
Return $sReturnStr
EndFunc

Func CreateWindow()
Local $iWidthW = 105 ; ширина окна
Local $iHightW = 105 ; высота окна
Local $iWidthB = 85 ; ширина Button
Local $iHightB = 25 ; высота Button
Local $iWidthL = 70 ; ширина Label
Local $iHightL = $iHightW - 30 - $iHightB ; высота Label
; Create a GUI
Local $hGUI = GUICreate( "ClipBoard", $iWidthW, $iHightW, 840, 500, -1, $WS_EX_TOPMOST)
Local $idOK = GUICtrlCreateButton("ОК", 10, 10, $iWidthB, $iHightB)
Local $sClip1 = ClipGet()
Local $sClip2 = ""
Local $hLabel = GUICtrlCreateLabel ( $sClip1, 10, 45, $iWidthL, $iHightL )

; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)

; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idOK
Dejat()
EndSwitch
$sClip2 = ClipGet()
If @error = 0 And $sClip1 <> $sClip2 Then
$sClip1 = $sClip2
GUICtrlSetData ( $hLabel, $sClip2 )
EndIf
Sleep(100)
WEnd

; Delete the previous GUI and all controls.
GUIDelete($hGUI)
EndFunc
Если посмотреть на этот код, то трудно представить, как его можно написать сходу, не зная этот язык. Помогает хорошо организованная справка.

Пример 2. Для работы преподавателя статистики нужна программа. Таблица цифр размером не более, чем 10 на 10. Вводим цифры, считаем парочку статистических коэффициентов и показываем не только результаты, но и промежуточные расчёты.

Пример 2 ещё не написан. Мне всё равно на чём, лишь бы можно было быстро написать. Такие языки как С++ или Java, с моей точки зрения, для этого плохо подходят. Важно также, чтобы установка языка и среды не были монстроидными, на несколько гигабайт. Работаю на планшете по объективной причине.

Был бы благодарен, если приведёте код примера 1 на выбранном вами языке. Конечно, не обязательно отлаживать, да и код приводить тоже.

Последний раз редактировалось Alex11223; 14.02.2017 в 10:43.
mawotimug вне форума Ответить с цитированием
Старый 14.02.2017, 10:49   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А на планшете это как? Планшет с полноценной Windows типа как на Surface 3+?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.02.2017 в 11:11.
Alex11223 вне форума Ответить с цитированием
Старый 14.02.2017, 11:08   #3
mawotimug
Пользователь
 
Регистрация: 14.02.2017
Сообщений: 16
По умолчанию

Windows 10
mawotimug вне форума Ответить с цитированием
Старый 14.02.2017, 11:20   #4
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,226
По умолчанию

Язык для домашнего использования? Для французского поцелуя (как раз в тему, сегодня день святого Валентина)? Я и дома и на работе на одних и тех же языках пишу. Все зависит от задачи, нельзя же к примеру большой проект на ассемблере писать, или на sql визуальный редактор делать, каждый язык знает свою область. В приведенном коде сложности не вижу, очень похож на другие языки. "Для дома" советую java.
oldsnowman вне форума Ответить с цитированием
Старый 14.02.2017, 11:25   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от oldsnowman Посмотреть сообщение
советую java
Тогда уж хотя бы Kotlin удобнее и приятнее.
Или если только винда, то C#.

Но там без тяжелой IDE типа IntelliJ (Java/Kotlin) или Visual Studio (C#) неудобно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.02.2017, 11:27   #6
mawotimug
Пользователь
 
Регистрация: 14.02.2017
Сообщений: 16
По умолчанию

Цитата:
Сообщение от oldsnowman Посмотреть сообщение
"Для дома" советую java.
Не получается писать на java практически без изучения, только заглядывая в справку. Там как-то всё объектно. Примеры задач я привёл, они несложные. Не знаю, может надо найти справку хорошую... Если подскажете, то да, почему бы и нет
mawotimug вне форума Ответить с цитированием
Старый 14.02.2017, 11:44   #7
mawotimug
Пользователь
 
Регистрация: 14.02.2017
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Но там без тяжелой IDE типа IntelliJ (Java/Kotlin) или Visual Studio (C#) неудобно.
А в чём неудобство? Отладчик?

p.s. Видимо, визуальная среда проектирования.

Последний раз редактировалось mawotimug; 14.02.2017 в 11:58.
mawotimug вне форума Ответить с цитированием
Старый 14.02.2017, 11:45   #8
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,226
По умолчанию

ООП знать нужно!
Вот ссылочки по java
http://cybern.ru/category/java/begin-java
http://www.fandroid.info/tutorial-po...achinayushhih/
Этого должно хватить, mawotimug! Ставь цель освоить это за две недели, пробуй!
oldsnowman вне форума Ответить с цитированием
Старый 14.02.2017, 11:57   #9
mawotimug
Пользователь
 
Регистрация: 14.02.2017
Сообщений: 16
По умолчанию

Цитата:
Сообщение от oldsnowman Посмотреть сообщение
ООП знать нужно!
Зачем? Мне же не работать программистом. Возраст.

Цитата:
Сообщение от oldsnowman Посмотреть сообщение
Ставь цель освоить это за две недели, пробуй!
Долго. Да и изучал я ООП. Принципы хорошо понимаю. Избыточно, мне кажется. Для решения приведенных задач ООП не нужен. Какой выигрыш я получу по сравнению c AutoIt? На мой взгляд, никакого. Потрачу две недели просто из любви к java.

За ссылки спасибо. Это никогда не помешает.
mawotimug вне форума Ответить с цитированием
Старый 14.02.2017, 12:05   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от mawotimug Посмотреть сообщение
А в чём неудобство? Отладчик?
Еще в "многословности" (особенно Java): длинные имена классов/методов, импорт неймспейсов, необходимость всяких "boilerplate'ов" (типа свойств или геттеров/сеттеров, реализации toString/equals/hashCode, создания анонимных классов в Java и т.п.) ...

Без автокомплита и прочей помощи IDE сложно. Ну и в изучении оно тоже помогает, можно не лезть каждый раз в справку, чтобы вспомнить/узнать какие методы есть у класса и в каком порядке параметры.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.02.2017 в 12:07.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Язык программирования С++. "Оконное приложение «Калькулятор»" emin1993 Помощь студентам 2 14.04.2012 23:35