GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Becky (firefly_lightning@convenient.email)'s status on Tuesday, 27-Dec-2022 07:36:14 JST Becky Becky
    I want to learn programming and I'm trying to find a language to start in.

    I want a language I can write a to do program in && something I can easily bounce onto other languages from

    Anyone have any thoughts on this

    #programmingadvice
    In conversation Tuesday, 27-Dec-2022 07:36:14 JST from convenient.email permalink
    • Embed this notice
      silverwizard (silverwizard@convenient.email)'s status on Tuesday, 27-Dec-2022 07:36:10 JST silverwizard silverwizard
      in reply to
      • hypolite
      • silverwizard
      @firefly_lightning @hypolite Based on what I suspect it'll be a real basic DB frontend, with fancy outputs

      But figuring out the front ends. And making modular to allow front ends, especially allowing several front ends, is, I think, the main goal
      In conversation Tuesday, 27-Dec-2022 07:36:10 JST permalink
    • Embed this notice
      Becky (firefly_lightning@convenient.email)'s status on Tuesday, 27-Dec-2022 07:36:11 JST Becky Becky
      in reply to
      • hypolite
      • silverwizard
      @hypolite I think I want the to-do program to have a gui as I'm still not great at using a command line.... probably run on a "standard" desktop computer, if such a thing exists.... computers are weird but I've relied on @silverwizard a lot and I'm trying to think outside that while also learning from him
      In conversation Tuesday, 27-Dec-2022 07:36:11 JST permalink
    • Embed this notice
      hypolite (hypolite@friendica.mrpetovan.com)'s status on Tuesday, 27-Dec-2022 07:36:13 JST hypolite hypolite
      in reply to
      @firefly_lightning Choosing a programming language often depends on the target use. Will it be a Command-Line Interface tool? A Graphical User Interface? A web page? A program on a controller circuit (Arduino, etc...)?

      From there, languages have affordances.
      In conversation Tuesday, 27-Dec-2022 07:36:13 JST permalink
    • Embed this notice
      hypolite (hypolite@friendica.mrpetovan.com)'s status on Tuesday, 27-Dec-2022 07:37:30 JST hypolite hypolite
      in reply to
      @firefly_lightning In the programming world, unfortunately there's no such thing as a standard desktop computer. So much so that the current most popular way of writing "portable" programs is to embed an entire web browser within the program.
      In conversation Tuesday, 27-Dec-2022 07:37:30 JST permalink
    • Embed this notice
      silverwizard (silverwizard@convenient.email)'s status on Tuesday, 27-Dec-2022 07:37:39 JST silverwizard silverwizard
      in reply to
      • hypolite
      • silverwizard
      @firefly_lightning @hypolite But also - learning to code from me is like learning to fix a car from someone who loves physics and bike repair, so it's gonna be a hell of a ride
      In conversation Tuesday, 27-Dec-2022 07:37:39 JST permalink
      hypolite likes this.
    • Embed this notice
      silverwizard (silverwizard@convenient.email)'s status on Tuesday, 27-Dec-2022 07:49:18 JST silverwizard silverwizard
      in reply to
      • hypolite
      @firefly_lightning @hypolite I think a "standard" desktop computer means "targets X" in this case ;)
      In conversation Tuesday, 27-Dec-2022 07:49:18 JST permalink
      hypolite likes this.
    • Embed this notice
      hypolite (hypolite@friendica.mrpetovan.com)'s status on Tuesday, 27-Dec-2022 07:51:00 JST hypolite hypolite
      in reply to
      @firefly_lightning So, first target one specific system with one specific front end. This will greatly reduce the scope of the required learning.

      I started learning programming with command line programs in C because of the low learning overhead. I was also taught COBOL for file manipulation and Java for Object-Oriented Programming. In parallel, I had SQL classes on an Oracle system, but no integration with a programming language until my final project after 2 years of full-time classes.

      It was a long process and it started pretty small, so I think that's what you should do as well to make it palatable.
      In conversation Tuesday, 27-Dec-2022 07:51:00 JST permalink
    • Embed this notice
      Becky (firefly_lightning@convenient.email)'s status on Tuesday, 27-Dec-2022 07:51:01 JST Becky Becky
      in reply to
      • hypolite
      @hypolite ? I kinda suspected this, but I'm still new to it all and have learned it all by accident or in roundabout ways
      In conversation Tuesday, 27-Dec-2022 07:51:01 JST permalink
    • Embed this notice
      silverwizard (silverwizard@convenient.email)'s status on Tuesday, 27-Dec-2022 09:31:00 JST silverwizard silverwizard
      in reply to
      • silverwizard
      • Dave
      @firefly_lightning @dj3vande I hear about Racket randomly, what is it?

      Also - she doesn't wanna use the web and wants a GUI

      Because she still doesn't believe google broke the web
      In conversation Tuesday, 27-Dec-2022 09:31:00 JST permalink
    • Embed this notice
      Dave (dj3vande@convenient.email)'s status on Tuesday, 27-Dec-2022 09:31:01 JST Dave Dave
      in reply to
      • silverwizard
      @firefly_lightning If you want to learn the foundations well and don't mind taking the long way around? Start with Racket and work through HtDP <htdp.org/>. (Racket probably even has a way to build GUI programs on any system you can install it on.)
      If you want to get a to-do list manager up and running? Use Perl to shuffle things in and out of the database, use CGI and a web browser for the GUI, and that'll put you in the space where you can ask @silverwizard for help when you get stuck.
      In conversation Tuesday, 27-Dec-2022 09:31:01 JST permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: htdp.org
        How to Design Programs
    • Embed this notice
      Lorraine Lee (lori@astoundingteam.com)'s status on Tuesday, 27-Dec-2022 10:23:56 JST Lorraine Lee Lorraine Lee
      in reply to
      • hypolite
      • silverwizard
      @hypolite @firefly_lightning @silverwizard Although it's a pet peeve of mine Java's GUI probably could be thought of as a "standard" desktop computer, as the things written in Java bring Java's GUI with them (except the one's that don't, like LibreOffice and TuxGuitar). Users of the three desktop systems all get the same user experience out of the usual Java packages. Java stuff is a pet peeve of mine because I'm spoiled by having Linux' "bookmarks" to various directories in my load and save dialog boxes. OTOH Java's dialogs and other GUI things I have found to have a gentler learning curve than GTK+ and Qt, might get you writing GUI programs faster. If I feel a need to write something that interacts in a GUI way, I write a "web app" instead, but that's more a standard desktop browser experience than a standard desktop computer experience.
      In conversation Tuesday, 27-Dec-2022 10:23:56 JST permalink
      hypolite likes this.
    • Embed this notice
      silverwizard (silverwizard@convenient.email)'s status on Tuesday, 27-Dec-2022 10:49:04 JST silverwizard silverwizard
      in reply to
      • silverwizard
      • Dave
      @firefly_lightning @dj3vande Yeah, I've thoughts about TKL and Lua bouncing in my head

      We discussed Scheme as an option, but she is currently wanting to try a more procedural language
      In conversation Tuesday, 27-Dec-2022 10:49:04 JST permalink
    • Embed this notice
      Dave (dj3vande@convenient.email)'s status on Tuesday, 27-Dec-2022 10:49:05 JST Dave Dave
      in reply to
      • silverwizard
      • Dave
      @firefly_lightning @silverwizard Racket is a variant of Scheme, designed by people who have put a lot of thought into programming and how to teach it, and does a good job of the space it's in. The downside is that its structure is (partly by historical accident) not very much like most programming languages that most people consider "serious".

      And as annoying as web browsers are, CGI is still the easiest way to get a GUI, followed by "whatever your dev tooling thinks is native", with anything else way behind.
      In conversation Tuesday, 27-Dec-2022 10:49:05 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.