Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.alt.folklore.computer > #50165

Re: COMAL

From Hermann Riemann <nospam.ng@hermann-riemann.de>
Newsgroups de.alt.folklore.computer
Subject Re: COMAL
Date 2025-05-23 11:29 +0200
Message-ID <m9atfcFgsgcU1@mid.individual.net> (permalink)
References (3 earlier) <100en1o$3i1vf$1@news1.tnib.de> <slrn102msu9.hp9q.hjp-usenet4@trintignant.hjp.at> <1t682cb016i265761n3e8%sfroehli@Froehlich.Priv.at> <slrn102pigt.1mav1.hjp-usenet4@trintignant.hjp.at> <11t682e0e0ai7803en3e8%sfroehli@Froehlich.Priv.at>

Show all headers | View raw


Am 21.05.25 um 19:43 schrieb Stefan Froehlich:
> On Tue, 20 May 2025 20:29:49 Peter J. Holzer wrote:
>> On 2025-05-20 18:41, Stefan Froehlich <Stefan+Usenet@Froehlich.Priv.at> wrote:
>>> On Mon, 19 May 2025 20:09:13 Peter J. Holzer wrote:
>>>> Insofern war da Python keine Umstellung, das hat nur erzwungen,
>>>> was ich ohnehin seit 30 Jahren freiwillig gemacht habe.
> 
>>> Das Problem ist, dass mein Kopf mitunter eine sehr eigenwillige
>>> Vorstellung davon hat, wie Einrückungen aussehen müssen - und die
>>> sind auch früher schon durch Styleguides oder andere Vorgaben
>>> nicht verschwunden, durchaus zu meinem Bedauern. Da Python leider
>>> nicht von mir erfunden wurde, sind dessen Vorgaben für mich eine
>>> einzige Quälerei.

Einrückung kannte ich schon lange und das war in GFA-Basic automatisch.

>> Hast Du ein Beispiel?
> 
> Das häufigste sind logische Ausdrücke, wie z.B.:
> 
> #v+
> while (
> 	!($a == 0) &&
> 	(
> 		isEmptyArrayElement($a, 0) ||
> 		preg_match('/^#/', $a[0])
> 	)
> ) {
> 	[...]
> }
> #v-

Ich finde, das derartige Klammerung den Lesebereich
von code zu sehr einschränkt.

#v+
while (!($a == 0) && ( isEmptyArrayElement($a, 0) ||
                        preg_match('/^#/', $a[0] )){
    [...]}
besser lesbar.

> Wobei ich gerade festgestellt habe, dass Python (das ich noch nie
> benötigt habe) damit auch umgehen könnte. Dabei ist mir aber dann
> auch aufgefallen, dass:
> 
> #v+
> if (true):
> 	print("a");
> 	print("b");
> 
> print("c");
> #v-
> 
> ...so und nur so geschrieben werden kann und eine wenigstens
> optionale Klammerung nicht zulässig ist. Der optisch nicht beendete
> Block macht mich fertig.

Ich ziehe eine Einrückung von 3 Leerzeichen vor.
Der Block ist optisch beendet, da Leerzeilen manchmal
zweckmäßig sein können

>> Andererseits vergesse ich, seit ich in Python programmiere, in
>> anderen Programmiersprachen dauernd die Strichpunkte, also ist das
>> offensichtlich praktisch.
> 
> Ich würde das eher als Gewohnheit sehen, mir passieren in C auch ab
> und zu ===, aber für solche Kleinigkeiten gibt's ja Compiler.

if (a>0) mit if a>0: verwechseln, kommt vor,
  wenn C und Pytheon abwechselnd programmiert wird.

Tabulatoren mag ich nicht außer
in Makefile und vielleicht /etc/hosts

Ansonsten putze ich manchmal mit folgendem Programm:

#!/usr/bin/python3 

 

import os, sys 

 

adj_3=False 

 

def pyr(filename): 

    adjust_3=adj_3 

    if len(filename)>3 and filename[-3:]==".py": 

       adjust_3=True 

    l1=open(filename).readlines() 

    l2=[] 

    for i,t in enumerate(l1): 

       z=t.rstrip().expandtabs() 

       if adjust_3: 

          v=(len(z)-len(z.lstrip()))%3 

          if v==1: z=z[1:] 

          if v==2: z=' '+z 

       l2.append(z+'\n') 

    while len(l2)>0 and len(l2[-1])==1: 

       l2.pop() # lösche leere letzte Zeile
    first_blanks=level=0
    l3=[]
    for i,z in enumerate(l2):
       if len(z)<3 or z[:2]!="#$":
          if   first_blanks==0: l3.append(z)
          elif first_blanks >0: l3.append(first_blanks*' ' + z )
          elif len(z) < first_blanks:
             print(filemane,i,-first_blanks,z)
             l3.append(z)
          else               : l3.append(z[-first_blanks:])
          continue
       c=z[2]
       if   c=='<': level-=1
       elif c=='>': level+=1
       elif c==')': level =0
       if level <0: level =0
       first_blanks=3*level
    return l1,l3

for arg in sys.argv[1:]:
    if arg[0]=='-':
       if arg=="-3": adj_3=True
       continue
    if not os.path.exists(arg):
       print(arg,"existiert nicht")
       continue
    l1,l2=pyr(arg)
    eq_=len(l1)==len(l2)
    if eq_:
       for x,y in zip(l1,l2):
          if x!=y: eq_=False; break
    if eq_: continue
    os.rename(arg,arg+'~')
    open(arg,'w').writelines(l2)
    if os.access(arg+'~',os.X_OK): os.chmod(arg,0o755)

-- 
<http://www.hermann-riemann.de>

Back to de.alt.folklore.computer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

COMAL "F. W." <me@home.invalid> - 2025-05-16 07:53 +0200
  Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-16 10:45 +0200
    Re: COMAL "F. W." <me@home.invalid> - 2025-05-19 07:59 +0200
      Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-19 09:36 +0200
        Re: COMAL "F. W." <me@home.invalid> - 2025-05-19 11:27 +0200
        Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-19 11:40 +0200
          Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-19 14:59 +0200
            Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-19 15:58 +0200
              Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-19 16:37 +0200
          Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-05-31 10:16 +0000
            Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-01 17:19 +0200
              Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-01 23:57 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-02 08:16 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-02 12:56 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-02 11:17 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-02 17:10 +0200
                Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-04 11:54 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-04 13:16 +0200
                Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-08 22:19 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-09 09:47 +0200
                Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-06-09 16:38 +0200
                Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-09 12:06 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-09 14:59 +0200
                Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-09 14:02 +0000
                Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-06-10 08:08 +0200
                Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 09:36 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-10 12:10 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 18:41 +0200
                Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 21:03 +0000
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-06-11 07:01 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 18:37 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-10 18:49 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 20:52 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 19:12 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 07:22 +0200
                Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-06-11 05:51 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 08:15 +0200
                Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-11 08:04 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 11:41 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 13:06 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-11 12:24 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 15:12 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 15:11 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 16:43 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 17:59 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 12:53 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 15:14 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 16:35 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-11 18:00 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 17:22 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-06-10 19:25 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 20:06 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-11 09:48 +0000
                Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 06:18 +0000
                OOP (was: COMAL) "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-10 18:57 +0200
                Re: OOP ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 17:34 +0000
                Re: OOP ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-10 17:40 +0000
                Re: OOP Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-06-10 21:12 +0000
                Re: OOP "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-06-11 12:33 +0200
                Re: OOP ram@zedat.fu-berlin.de (Stefan Ram) - 2025-06-11 12:14 +0000
        Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-19 20:09 +0200
          Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-05-19 22:19 +0200
            Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-19 23:40 +0200
              Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-20 08:41 +0000
          Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-05-20 16:41 +0000
            Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-05-20 16:49 +0000
              Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-05-20 20:33 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-20 20:54 +0200
            Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-20 19:44 +0200
            Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-20 20:29 +0200
              Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-20 19:00 +0000
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-20 19:10 +0000
                Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-05-20 21:33 +0200
              Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-05-21 17:43 +0000
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-21 20:52 +0200
                Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-21 21:37 +0200
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-21 22:55 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-22 09:17 +0200
                Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-22 09:42 +0200
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-22 09:46 +0200
                Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-22 10:37 +0200
                Re: COMAL Christian Corti <use@reply.to> - 2025-05-22 11:15 +0200
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-22 11:52 +0200
                Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-22 12:35 +0200
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-22 13:08 +0200
                Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-22 15:27 +0200
                Re: COMAL Christian Corti <use@reply.to> - 2025-05-22 16:14 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-22 14:11 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-22 12:24 +0000
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-22 15:38 +0000
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-22 15:46 +0000
                Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-05-31 15:38 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-22 09:44 +0200
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-22 09:48 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-22 10:11 +0200
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-22 10:12 +0200
                Re: COMAL "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2025-05-22 08:24 +0000
                Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-22 10:38 +0200
                Re: COMAL Stefan Reuther <stefan.news@arcor.de> - 2025-05-22 18:45 +0200
                Re: COMAL Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2025-05-22 10:22 +0000
                Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-22 09:16 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-22 08:25 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-22 09:10 +0000
                Re: COMAL Dietrich Clauss <dietrich@clauss-it.com> - 2025-05-22 11:34 +0200
                Re: COMAL Marc Haber <mh+usenetspam1118@zugschl.us> - 2025-05-22 12:36 +0200
                Re: COMAL "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2025-05-22 12:43 +0000
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-22 15:13 +0200
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-22 16:36 +0200
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-22 16:51 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-22 15:01 +0000
                Re: COMAL Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2025-05-22 17:18 +0200
                Re: COMAL Dietrich Clauss <dietrich@clauss-it.com> - 2025-05-22 20:31 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-22 19:47 +0000
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-23 03:54 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-23 08:43 +0000
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-23 13:56 +0200
                Re: COMAL Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-05-23 15:04 +0200
                Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-23 13:25 +0000
                Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-23 16:23 +0200
                Re: COMAL Christian Corti <use@reply.to> - 2025-05-26 11:59 +0200
                Re: COMAL Hermann Riemann <nospam.ng@hermann-riemann.de> - 2025-05-23 11:29 +0200
          Re: COMAL "F. W." <me@home.invalid> - 2025-05-26 09:27 +0200
        Re: COMAL Stefan Reuther <stefan.news@arcor.de> - 2025-05-20 18:47 +0200
          Re: COMAL Andreas Eder <a_eder_muc@web.de> - 2025-05-27 21:56 +0200
    Re: COMAL Thomas Koenig <tkoenig@netcologne.de> - 2025-05-31 13:19 +0000
  Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-16 11:53 +0200
    Re: COMAL "F. W." <me@home.invalid> - 2025-05-19 08:01 +0200
      Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-19 08:14 +0200
        Re: COMAL "F. W." <me@home.invalid> - 2025-05-19 08:51 +0200
          Re: COMAL Eric Bruecklmeier <u@5i7.de> - 2025-05-19 09:05 +0200
        Re: COMAL Kay Martinen <usenet@martinen.de> - 2025-05-19 09:02 +0200
          Re: COMAL "F. W." <me@home.invalid> - 2025-05-19 09:20 +0200
          Re: COMAL "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-05-19 19:59 +0200
            Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-19 18:16 +0000
              Re: COMAL ram@zedat.fu-berlin.de (Stefan Ram) - 2025-05-19 18:36 +0000
              Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-05-20 07:57 +0200
            Re: COMAL Eric Bruecklmeier <nil@nil.nil> - 2025-05-20 07:48 +0200

csiph-web