Announcement

Collapse
No announcement yet.

Programming books are very crappy

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    My brother writes and modifies a ton of Fortran 77 programs (mech eng graduate work) that I am fortunate enough to assist him in, and the general programming skills of the engineering community are second only to physicists when it comes to hacky goodness.
    "The issue is there are still many people out there that use religion as a crutch for bigotry and hate. Like Ben."
    Ben Kenobi: "That means I'm doing something right. "

    Comment


    • #17
      12-17-10 Mohamed Bouazizi NEVER FORGET
      Stadtluft Macht Frei
      Killing it is the new killing it
      Ultima Ratio Regum

      Comment


      • #18
        This is a good programming book.

        Life is not measured by the number of breaths you take, but by the moments that take your breath away.
        "Hating America is something best left to Mobius. He is an expert Yank hater.
        He also hates Texans and Australians, he does diversify." ~ Braindead

        Comment


        • #19
          I'll see your porn and raise you more:
          Code:
                SUBROUTINE SPCFFT(U,N,ISIGN,WORK,INTERP)
          
          * VARIABLES
          * ---------
          
                IMPLICIT NONE
          
                LOGICAL*1
               |  INU      ! Flag for calling SUBROUTINE SPCPFT( arguments ).
               | ,SCALE    ! .TRUE.=inverse transform -- .FALSE.=forward transform
          
                INTEGER*4
               |  A        ! After    \
               | ,B        ! Before    >  Factors of N.
               | ,C        ! Current  /
               | ,N        ! Length of the array to be transformed.
               | ,I        ! DO loop index.
               | ,ISIGN    ! sign of transform
          
                REAL*4
               |  INTERP   ! interpolation factor
          
                COMPLEX*8
               |  U(*)            !  Vector to be transformed
               | ,WORK(*)         !  Working storage.
          
          *     Initialize parameters.
          
                A = 1
                B = N
                C = 1
          
                INU = .TRUE.
          
                IF (ISIGN.EQ.1) THEN
          
                   SCALE = .TRUE.
          
                ELSE IF (ISIGN.EQ.-1) THEN
          
                   SCALE = .FALSE.
          
                END IF
          
          * Calculate Fourier transform by means of Glassman's algorithm
          
                DO WHILE ( B .GT. 1 )
          
                   A = C * A
          
          * Start of routine to get factors of N
          
                   C = 2
          
          * Increment C until it is an integer factor of B
          
                   DO WHILE ( MOD(B,C) .NE. 0 )
          
                            C = C + 1
          
                   END DO
          
          * Calculate largest factor of B
          
                   B = B / C
          
          
          * Call Glassman's Fast Fourier Transform routine
          
                   IF ( INU ) THEN
          
                      CALL SPCPFT (A,B,C,U,WORK,ISIGN)
          
                    ELSE
          
                      CALL SPCPFT (A,B,C,WORK,U,ISIGN)
          
                   END IF
          
          * Set flag to swap input & output arrays to SPCPFT
          
                   INU = ( .NOT. INU )
          
                END DO
          
          * If odd number of calls to SPCPFT swap WORK into U
          
                IF ( .NOT. INU ) THEN
          
                   DO I = 1, N
                      U(I) = WORK(I)
                   END DO
          
                END IF
          
          * Scale the output for inverse Fourier transforms.
          
                IF ( SCALE ) THEN
          
                   DO I = 1, N
                      U(I) = U(I) / (N/INTERP)
                   END DO
          
                END IF
          
          
          * TERMINATION
          * -----------
          
                RETURN
                END
          
          
          *=======================================================================
          * Single Precision Complex Prime Factor Transform
          *
          *  REFERENCES
          *  ----------
          *
          * Calling routines:
          * SPCFFT
          *
          * Subroutines called:
          * -none-
          *
          * Functions called:
          * CMLPX
          * COS
          * SIN
          * FLOAT
          *=======================================================================
          
                SUBROUTINE SPCPFT( A, B, C, UIN, UOUT, ISIGN )
          
          * VARIABLES
          * ---------
          
                IMPLICIT NONE
          
                INTEGER*4
               |  ISIGN           !  ISIGN of the Fourier transform.
               | ,A               !  After   \
               | ,B               !  Before   >  Factors of N.
               | ,C               !  Current /
               | ,IA              !  \
               | ,IB              !   \  DO loop indicies.
               | ,IC              !   /
               | ,JCR             !  /
               | ,JC              !  Dummy index.
          
                REAL*8
               |  ANGLE
          
                COMPLEX*8
               |  UIN(B,C,A)      !  Input vector.
               | ,UOUT(B,A,C)     !  Output vector.
               | ,DELTA           !  Fourier transform kernel.
               | ,OMEGA           !  Multiples of exp( i TWOPI ).
               | ,SUM             !  Dummy register for addition for UOUT(B,A,C)
          
          * ALGORITHM
          * ---------
          
          * Initialize run time parameters.
          
          
                ANGLE =6.28318530717958 / FLOAT( A * C )
                OMEGA = CMPLX( 1.0, 0.0 )
          
          * Check the ISIGN of the transform.
          
                IF( ISIGN .EQ. 1 ) THEN
          
                   DELTA = CMPLX( DCOS(ANGLE), DSIN(ANGLE) )
          
                ELSE
          
                   DELTA = CMPLX( DCOS(ANGLE), -DSIN(ANGLE) )
          
                END IF
          
          
          
          * Do the computations.
          
                DO IC = 1, C
          
                   DO IA = 1, A
          
                      DO IB = 1, B
          
                         SUM = UIN( IB, C, IA )
          
                         DO JCR = 2, C
          
                            JC = C + 1 - JCR
                            SUM = UIN( IB, JC, IA ) + OMEGA * SUM
          
                         END DO
          
                         UOUT( IB, IA, IC ) = SUM
          
                      END DO
          
                      OMEGA = DELTA * OMEGA
          
                   END DO
          
                END DO
          
          * TERMINATION
          * -----------
          
                RETURN
                END
          
          
          #ifdef FFT_TEST
          
                program test
          
                implicit none
          
                integer*4 nmax
                parameter( nmax=10000 )
          
                complex*8 input(nmax)
                complex*8 scratch(nmax)
          
                real*4 a , b
          
                integer*4 i
                integer*4 n
          
                n = 0
           1000 format( 2e25.15 )
                do i=1, nmax
          
                   read( 5 ,1000 ,end=10 ) input(i)
                   n = n + 1
          
                end do
          
             10 continue
          
                call spcfft( input ,n ,0 ,scratch ,1.0 )
          
                do i=1 ,n
          
                   write( 6 ,1000 ) real(input(i)) ,imag(input(i))
          
                end do
          
                call spcfft( input ,n ,1 ,scratch ,1.0 )
          
                do i=1 ,n
          
                   write( 6 ,1000 ) real(input(i)) ,imag(input(i))
          
                end do
          
                end
          
          #endif
          #ifdef TEST
          
                program test
          
                implicit none
          
                real*4 data_in(10000)
                real*4 data_out(10000)
          
                integer*4 i
                integer*4 m
                integer*4 n
          
          
                read( 5 ,* ) m ,n
          
                do i=1,m
                   read( 5 ,* ,end=10 ) data_in(i)
                end do
          
             10 continue
          
                write( 6 ,* ) '#input'
                do i=1 ,m
                   write( 6 ,'(2f25.10)' ) real(i-1)/(m) ,data_in(i)
                end do
          
                call resample( data_in ,m ,data_out ,n )
          
                write( 6 ,* ) '#output'
                do i=1 ,n
                   write( 6 ,'(2f25.10)' ) real(i-1)/(n) ,data_out(i)
                end do
          
                end
          
          #endif
          "The issue is there are still many people out there that use religion as a crutch for bigotry and hate. Like Ben."
          Ben Kenobi: "That means I'm doing something right. "

          Comment


          • #20
            Originally posted by Asher View Post
            They would have to be a more competent C programmer than you evidently are.

            C isn't widely used for software development. It's used sparingly in some embedded systems development only, and even that is transitioning to other languages. My comments were aimed towards more robust languages like C++, Java, C#, etc.
            Well, I'm not a С programmer, I'm a .NET 2.0 programmer (moved to consulting around the time 3.0 was released, so I have nfc about WPF, WCF, LINQ, etc ). I still maintain it is impossible to use something from the GoF book in C.
            Graffiti in a public toilet
            Do not require skill or wit
            Among the **** we all are poets
            Among the poets we are ****.

            Comment


            • #21
              Originally posted by onodera View Post
              Well, I'm not a С programmer, I'm a .NET 2.0 programmer (moved to consulting around the time 3.0 was released, so I have nfc about WPF, WCF, LINQ, etc ). I still maintain it is impossible to use something from the GoF book in C.
              You could do it, just not very cleanly. The patterns are heavily OO, but you can fudge that stuff in C if you wanted. Just creative use of function pointers and the like.
              "The issue is there are still many people out there that use religion as a crutch for bigotry and hate. Like Ben."
              Ben Kenobi: "That means I'm doing something right. "

              Comment


              • #22
                Originally posted by Asher View Post
                I'll see your porn and raise you more:
                Code:
                begin
                   integer i;
                   real procedure sum (i, lo, hi, term);
                      value lo, hi;
                      integer i, lo, hi;
                      real term;
                      comment term is passed by-name, and so is i;
                   begin
                      real temp;
                      temp := 0;
                      for i := lo step 1 until hi do
                         temp := temp + term;
                      sum := temp
                   end;
                   
                   print (sum (i, 1, 100, 1/i))
                end
                With or without religion, you would have good people doing good things and evil people doing evil things. But for good people to do evil things, that takes religion.

                Steven Weinberg

                Comment


                • #23
                  Originally posted by Asher View Post
                  I rest my case.
                  Most Linux kernels are not embedded systems.

                  Comment


                  • #24
                    Originally posted by Kuciwalker View Post
                    Most Linux kernels are not embedded systems.
                    The obvious implication was for its use in low-level programming.

                    I also don't believe you. I'm certain if you looked at all of the devices using Linux, from routers to telephony equipment to cell phones, the number of devices easily surpasses server and desktop installations.

                    The point remains that the utility of C to modern software development is extremely limited. Very few people actually need to develop in C compared to the other languages today.

                    Even the Linux kernel has surprisingly few people doing substantial development on it.
                    "The issue is there are still many people out there that use religion as a crutch for bigotry and hate. Like Ben."
                    Ben Kenobi: "That means I'm doing something right. "

                    Comment


                    • #25
                      I didn't say installations.

                      However, you might be right if most of those are modified versions of the kernel.

                      Comment


                      • #26
                        Originally posted by SlowwHand View Post
                        This is a good programming book.

                        holy****ing**** those titties. This sweet face with this sort of boobs would probably make me go mute for a couple of minutes.

                        Tits > programming.
                        urgh.NSFW

                        Comment


                        • #27
                          You straight ****ers are horny ****ing perverts. Sexual deviants.
                          "The issue is there are still many people out there that use religion as a crutch for bigotry and hate. Like Ben."
                          Ben Kenobi: "That means I'm doing something right. "

                          Comment


                          • #28
                            I am sexually frustrated.

                            Maybe I would be even if I wasn't.

                            I am trying to work on it though. (on not being a horny pervert)

                            JM
                            Jon Miller-
                            I AM.CANADIAN
                            GENERATION 35: The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment.

                            Comment


                            • #29
                              The problem is you straight ****ers don't have the grace and dignity of the homo people. You're all ****ing shameless horndogs.
                              "The issue is there are still many people out there that use religion as a crutch for bigotry and hate. Like Ben."
                              Ben Kenobi: "That means I'm doing something right. "

                              Comment


                              • #30
                                This is it. this is the gay test. If you don't want to place your penis between those tits - you're 'it'. and by 'it' I mean a homosexual. There is a 100% correlation.

                                Why don't you want to titty **** them, Asher? I don't know. but it's ok, we cool.
                                urgh.NSFW

                                Comment

                                Working...
                                X