Skip to content

기글하드웨어기글하드웨어

인터넷 / 소프트웨어 : 윈도우즈, 리눅스, 기타 운영체제, 각종 어플리케이션, 프로그램, 소프트웨어, 인터넷, 인터넷 서비스에 대한 이야기, 소식, 테스트, 정보를 올리는 게시판입니다.

일반
2016.07.13 15:10

언어의 차이

profile
조회 수 1263 댓글 20
Extra Form

제가 요새 조금씩 VBA를 갉작대고 있는데, 그러고 있자니 어째선지 기존에 알고 있던 Python3과 뭔가 자꾸만 비교하게 되더라고요.


예를 들어 볼게요. 방금 전에 책을 보고 예제로 다음과 같은 VBA 코드를 작성했습니다. 거의 책을 따라한 것이죠.

Function RemoveVowels(text) As String
    Dim i As Long, j As String
    RemoveVowels = ""
    For i = 1 To Len(text)
        j = Mid(text, i, 1)
        If Not j Like "[aeiouAEIOU]" Then
            RemoveVowels = RemoveVowels & j
        End If
    Next i
End Function

Sub test1()
    MsgBox RemoveVowels("asdf")
End Sub

이 코드를 제게 익숙한 Python3 코드로 다시 쓰면 다음과 같습니다.

def removeVowels(text):
    result = ""
    for i in text:
        if i not in "aeiouAEIOU":
            result += i
    return result

print(removeVowels("asdf"))

똑같은 방식으로 똑같은 일을 하는 코드인데도 거의 반 가까운 줄 수 차이가 납니다. 물론 VBA도 변수 선언을 생략할 수 있지만, 그걸 감안해도 차이는 별로 좁혀지지 않지요. 어쩌면 제가 VBA에 익숙하지 않아서 그럴지도 모르겠습니다만… 어쨌거나 VBA를 갉작대고 있자니 Python이 새삼 좋은 언어라는 것을 깨달을 수가 있게 되네요. 이게 외국에 나가면 새삼 한국이 그리워진다는 것과 마찬가지의 원리인 걸까요?



  • ?
    clowl 2016.07.13 16:11
    VBA는 별로지만 엑셀vba은 신입니다.
    저도 잘하고 싶네요.
  • profile
    쮸쀼쮸쀼 2016.07.13 16:16
    잘 쓰면 대단히 유용하겠더라고요.
  • profile
    title: 야행성프리지아      Facta, Non Verba 2016.07.13 16:48
    글쎄요. 본문의 코드만 보자면 언어에서 지원하는 함수나 문자열 처리 방법의 차이는 거의 없고,
    단순히 if, for 구문 등의 차이(end if나 next로 끝을 명시적으로 표시해야하는지의 여부) 정도밖에 없어 보입니다만...

    물론 VB가 좀 답답한 느낌이 드는 건 맞지만요.
  • profile
    쮸쀼쮸쀼 2016.07.13 16:57
    위 코드에서 예를 들자면, 파이썬에서는 for i in text: 이것만으로 끝날 것이 VBA에서는 Len 함수와 Mid 함수도 추가로 써야 되고, 또 다른 변수 j(이건 생략할 수도 있지만, 그 경우가 오히려 중복이 늘어나 더 안 좋다고 생각합니다)도 하나 더 써야 하죠. 사소하다면 사소한 것인데, 초보라서 그런지 이런 차이가 꽤 크게 느껴집니다.
  • profile
    라임베어      성공한 사람은 포장되어 일반인을 망친다. 2016.07.13 17:35
    VBA자체가 워낙 구닥다리 물건이니 그려려니 생각해야하지 않을까.. 싶어요
  • profile
    쮸쀼쮸쀼 2016.07.13 18:44
    사실 저도 좀 더 최신 언어를 배우고 싶어요. C#이라거나 말이죠.
  • ?
    winner 2016.07.13 22:40
    음... 좀 찾아봤는데 strip 을 쓰면 좀더 쉽겠네요.
    return text.strip('aeiouAEIOU')

    다른 언어와 비교하시는 거니까 원하시는 내용인지는 모르겠습니다만...
  • profile
    쮸쀼쮸쀼 2016.07.14 00:51
    뭐, 위 파이썬 코드는 VBA쪽 코드와 똑같은 방식으로 쓰는 것을 목적으로 했으니까요.
  • ?
    머그컵 2016.07.14 09:53
    python 이 스크립트 언어의 대세가 된 가장큰 이유중의 하나가 바로 저 언어의 간결성 이에요
    ( 보통 언어 에서 블록을 잡을때 사용하는 { ... } 나 ... end 같은것이 필요없음 )
    다른 언어들이 따라올수 없죠.. 뭐 성능은 그렇게 좋은편은 아니지만..
    스크립트 언어가 자바같이 미션크리티컬 하게 성능까지 좋을 필요는업죠
    오픈소스쪽 예를들면 3D 프로그램인 blender 나 수학 프로그램인 sage 같은 경우 python 을 내부 스크립트 언어로 사용합니다.
  • profile
    쮸쀼쮸쀼 2016.07.14 11:23
    sage 같은 경우는 기반 자체가 파이썬 아니던가요.
  • profile
    부녀자 2016.07.14 10:44
    VBA는 유니코드 지원안해서 싫어요!!!
    마소님께서는 언제쯤 메크로에 유니코드 지원해줄까요?? ㅠㅠ
  • profile
    쮸쀼쮸쀼 2016.07.14 11:24
    차라리 매크로 언어가 C#이나 VB.NET으로 바뀌는 게 더 빠르지 싶어요.
  • ?
    여량 2016.07.14 10:47
    C#을 쓰다보니 자바도 친구같고 C++도 뭔가 익숙하고... (태생이 짬뽕)
    오브젝트 파스칼이라 불리는 델파이랑 비교하면(begin end;, var 블록이 있는 점 등등 형식 따지기는 까다롭죠) 요즘은 하이퍼 파이널퓨전 시대인 것 같아요.
    VB는 대소문자 계속 번갈아 써야하는 게 귀찮아요.

    파이썬 잘 하시는 분 부러워요. 전 그나마 스크립트를 읽을 수는 있어서 다행이랄까요.
  • profile
    쮸쀼쮸쀼 2016.07.14 11:24
    그나마 편집기에서 인텔리센스로 대소문자 자동으로 바꿔 주는 것이 다행이랄까요.
  • profile
    나무넷      - '계획대로야' 2016.07.14 11:02
    참고로 C++ 가 일반적인 결과물로는 갑이긴 하지만... 멀티코어가 기본으로 지원되는 C# 덕분에 간단한 코딩은 C#으로 짠 프로그램이 더 빠를수도 있습니다.

    요즘은 배우기 쉬운 파이썬도 있고 자바랑 C#은 비슷(?)해서 하나를 익혀 놓으면 서로 배우기도 편하고... 해서..

    여튼 ... 코딩의 세계로 오신다면 한바퀴 다 돌아 보면서 공부하는것도 나름 재미 있습니다 ^^;

    (p.s 여량님의 말씀에 100% 동의 합니다 요즘 정말 파이널 퓨전 시대인것 같아요 ㅠㅠ 저두 파이썬 잘 하시는분들이 부럽습니다. ㅠㅠ)
  • profile
    쮸쀼쮸쀼 2016.07.14 11:25
    파이썬 잘 모릅니다. map도 reduce도 lambda도 쓸 줄 모릅니다.
  • ?
    wisewolf 2016.07.14 16:28
    print(''.join(list(filter(lambda x: x not in 'aeiouAEIOU','asdf'))))
    로 되네요
  • profile
    쮸쀼쮸쀼 2016.07.14 16:42
    히익 익명함수에 필터까지 동원해서 원라이너로!!
  • ?
    analogic 2016.07.14 20:26
    같은 내용을 어셈블리로 구현해 보시면......ㅎㅎㅎ
  • profile
    쮸쀼쮸쀼 2016.07.14 20:41
    히이이이익!!!

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


  1. No Image

    OpenWRT 20주년 기념 OpenWRT One 공개

    참고1: https://news.hada.io/topic?id=12791   2024년이면 OpenWRT가 시장에 출시된지 20년이 경과 합니다.   이에 따라 OpenWRT는 업스트림이 공식적으로 지원되는 OpenWrt One/AP-24.XY 를 공개합니다.   ----------------------------...
    Date2024.01.13 소식 Bytitle: 가난한카토메구미 Reply10 Views1314
    Read More
  2. 마소 로그인 이력 한번 까봤습니다.

      제가 한 두번의 로그인 제외하고는 다 실패입니다. 저는 미국이나 독일을 가본적이 없습니다.(아 명예 미국인을 2주마다 하기는 하지만)   어쨋든 로그인 실패하는 이유는 간단합니다 2FA 쓰거든요. 쓴지는 7년이상됩니다. 과거 윈10/...
    Date2024.01.13 일반 Bytitle: 가난한AKG-3 Reply4 Views720 file
    Read More
  3. No Image

    지금 윈도우10과 유튜브 문제 있나요?

    유튜브가 렉걸리는 사양이 아닌데 렉이 엄청 걸리면서 재생도 안되네요 윈도우10은 22H2, 빌드는 19045.3803 크롬은 최신, 120.0.6099.217(공식 빌드) (64비트)입니다.
    Date2024.01.13 질문 By240Hz Reply13 Views961
    Read More
  4. No Image

    윈도우 10의 비트로커 취약점 패치 설치가 실패하는 시스템이 있음

    마이크로소프트는 윈도우 10 시스템에 영향을 미치는 비트로커 암호화 우회 취약점을 패치하기 위해 KB503441 업데이트를 발표했습니다. 하지만 이 패치를 설치할 때 업데이트 실패가 뜨는 경우가 있다고 하네요. 이 패치는 윈도우 복구 ...
    Date2024.01.13 소식 By낄낄 Reply3 Views950
    Read More
  5. 윈도우 11 프리뷰에서 USB 80Gbps 를 지원

    윈도우 11 인사이더 프리뷰 Dev 채널에서 빌드 23615를 배포하고 있습니다. USB의 최신 규격인 USB 80Gbps를 지원합니다. USB 80Gbps는 말 그대로 최대 80Gbps로 전송이 가능한 규격으로, 정식 스펙 명칭은 USB4 버전 2.0입니다.
    Date2024.01.13 소식 By낄낄 Reply14 Views1881 file
    Read More
  6. No Image

    디스코드, 170명 해고

    직원 17%를 해고할 예정이라고 합니다.   지난해 말에도 4%가량 해고했었고 2019년에도 비공개인원을 해고했었다고.
    Date2024.01.12 소식 Bytitle: AI아무개 Reply4 Views973
    Read More
  7. 틱톡, 최초로 인앱 결제 100억 달러 달성

    틱톡이 2023년에 인앱 결제 100억 달러를 달성했다고 합니다. 이는 앱 역사상 처음 있는 일입니다. 틱톡은 컨텐츠 크리에이터와 스트리머에게 수입을 창출할 수 있는 기능을 제공하며, 더 많은 수익을 창출하고 그 방법을 찾기 위해 노력...
    Date2024.01.12 소식 By낄낄 Reply6 Views1254 file
    Read More
  8. 유튜브 동영상에서 AMD FSR 초해상 업스케일링 기능 지원

    AMD 피델리티 FX 슈퍼 레졸루션(줄여서 FSR) 기반 동영상 초해상 업스케일링 기능을 유튜브 동영상에서 쓸 수 있게 됩니다. 또 VLC와 함께 FSR 업스케일링과 노이즈 제거 기능이 통합된 비디오 플레이어를 개발 중입니다. 발표가 언제일...
    Date2024.01.11 소식 By낄낄 Reply9 Views1057 file
    Read More
  9. No Image

    트위치, 인력 35% 해고한다

    한국 시장 철수를 결정한 글로벌 생방송 스트리밍 플랫폼 트위치가 전체 직원의 35%를 해고할 예정이라고 블룸버그 통신이 9일(현지시간) 보도했다. 소식통에 따르면, 트위치는 오는 10일 감원 계획을 공식 발표할 예정이다. 감원 규모는 ...
    Date2024.01.11 소식 By낄낄 Reply0 Views608
    Read More
  10. No Image

    윈도우 인덱싱을 꺼버리면 어떤 문제가 발생할 수 있나요?

    윙도우 10 22H2를 사용하고 있습니다 개발용 SSD는 870 EVO 1TB를 사용하고 있습니다(OS는 다른곳에 위치)   회사 보안 프로그램 때문에 정말 끔찍한 속도 저하를 겪고 있습니다(라고 파악하고 있었습니다) 파일 대충 8천개 되는 개발 폴...
    Date2024.01.11 질문 Bydmy01 Reply8 Views915
    Read More
  11. No Image

    미국 증권거래위, 11개 비트코인 현물 ETF 상장 승인

    미국 증권거래위원회가 비트코인 현물상장지수펀드, ETF의 상장을 승인했습니다. 11개 비트코인의 현물 ETF의 거래가 현지 시각 내일부터 바로 가능해집니다. 우여곡절끝에 결국은 승인이 됐군요.
    Date2024.01.11 소식 By낄낄 Reply4 Views992
    Read More
  12. 이런 자막은 왜 모자이크 처리하는건가요?

      사진은 T1 Faker 이상혁 선수가 개인방송에 스트리밍한 화면을 유튜브 채널에 올린 것이고, 그것을 캡처한 것입니다. (생방송을 실시간으로 통역해서 저런 자막이 있는 것입니다.)   가끔 공중파, 지상파 영상을 공중파, 지상파 채널에...
    Date2024.01.10 질문 By방황하는물고기 Reply3 Views1196 file
    Read More
  13. SEC: 현물 비트코인 ETF 승인 발표...가 아니라 해킹당했음

    미국 SEC의 X 계정은 현물 비트코인 ETF를 승인했다고 발표했습니다. 하지만 SEC 의장인 Gary Gensler는 그런 승인이 없다고 정정했습니다. 이중 인증을 걸어두지 않아, 다른 사람이 쓴 글이라고 하네요. https://twitter.com/GaryGensle...
    Date2024.01.10 소식 By낄낄 Reply5 Views1146 file
    Read More
  14. 프린터는 작동하지만 드라이버는 제공하지 않습니다

    스마트폰과 태블릿이 보급된 지금 같은 세상이야말로, 빌 게이츠 말대로 사무실에서 종이가 사라져도 될 때라고 생각합니다만 그래도 종이가 필요할 때가 있습니다. 어디라고 말할 수는 없지만 갑자기 서류에 싸인해서 보낼 일이 생겼어요...
    Date2024.01.10 일반 By낄낄 Reply7 Views705 file
    Read More
  15. No Image

    애플 에어드랍, 중국 정부가 크래킹함

    애플의 에어드랍은 TLS 암호화를 사용해 컨텐츠를 전송하지만, 중국 베이징 법무국은 이를 우회하고 식별 정보를 밝혀낼 수 있는 방법을 찾아냈다고 발표했습니다. 아이폰 디바이스 로그를 분석해 숨겨진 해시 값을 원본 텍스트로 변환, ...
    Date2024.01.10 소식 By낄낄 Reply3 Views1213
    Read More
목록
Board Pagination Prev 1 ... 22 23 24 25 26 27 28 29 30 31 ... 579 Next
/ 579

최근 코멘트 30개
슬렌네터
00:32
린네
00:21
TundraMC
00:14
neon
00:01
neon
23:57
조마루감자탕
23:51
neon
23:50
조마루감자탕
23:49
조마루감자탕
23:48
유니
23:47
K_mount
23:38
하이킥
23:31
고자되기
23:28
아이들링
23:27
MUGEN
23:04
마초코
23:00
마초코
23:00
파란화면
22:59
투명드래곤
22:57
툴라
22:55
투명드래곤
22:49
투명드래곤
22:49
umpclife
22:47
고자되기
22:46
낄낄
22:35
NG_GOON
22:32
낄낄
22:29
염발
22:29
벨드록
22:28
고자되기
22:24

한미마이크로닉스
AMD
MSI 코리아
더함

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소